[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <tencent_7D663C8936BA96F837124A4474AF76ED6709@qq.com>
Date: Thu, 14 Dec 2023 22:46:10 +0800
From: Edward Adam Davis <eadavis@...com>
To: eadavis@...com
Cc: davem@...emloft.net,
dhowells@...hat.com,
edumazet@...gle.com,
jarkko@...nel.org,
jmorris@...ei.org,
keyrings@...r.kernel.org,
kuba@...nel.org,
linux-kernel@...r.kernel.org,
linux-security-module@...r.kernel.org,
netdev@...r.kernel.org,
pabeni@...hat.com,
paul@...l-moore.com,
serge@...lyn.com,
syzbot+94bbb75204a05da3d89f@...kaller.appspotmail.com,
syzkaller-bugs@...glegroups.com
Subject: [PATCH V2 next] keys/dns: fix slab-out-of-bounds in dns_resolver_preparse
bin will be forcibly converted to "struct dns_server_list_v1_header *", so it
is necessary to compare datalen with sizeof(*v1).
Fixes: b946001d3bb1 ("keys, dns: Allow key types (eg. DNS) to be reclaimed immediately on expiry")
Reported-and-tested-by: syzbot+94bbb75204a05da3d89f@...kaller.appspotmail.com
Signed-off-by: Edward Adam Davis <eadavis@...com>
---
net/dns_resolver/dns_key.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/net/dns_resolver/dns_key.c b/net/dns_resolver/dns_key.c
index 3233f4f25fed..15f19521021c 100644
--- a/net/dns_resolver/dns_key.c
+++ b/net/dns_resolver/dns_key.c
@@ -104,7 +104,7 @@ dns_resolver_preparse(struct key_preparsed_payload *prep)
if (data[0] == 0) {
/* It may be a server list. */
- if (datalen <= sizeof(*bin))
+ if (datalen <= sizeof(*v1))
return -EINVAL;
bin = (const struct dns_payload_header *)data;
--
2.43.0
Powered by blists - more mailing lists