mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/netdev/net.git/
synced 2026-04-01 22:37:41 -04:00
net: ipv6: ndisc: fix ndisc_ra_useropt to initialize nduseropt_padX fields to zero to prevent an info-leak
When processing Router Advertisements with user options the kernel
builds an RTM_NEWNDUSEROPT netlink message. The nduseroptmsg struct
has three padding fields that are never zeroed and can leak kernel data
The fix is simple, just zeroes the padding fields.
Fixes: 31910575a9 ("[IPv6]: Export userland ND options through netlink (RDNSS support)")
Signed-off-by: Yochai Eisenrich <echelonh@gmail.com>
Reviewed-by: Simon Horman <horms@kernel.org>
Link: https://patch.msgid.link/20260324224925.2437775-1-echelonh@gmail.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
This commit is contained in:
committed by
Jakub Kicinski
parent
2428083101
commit
ae05340cca
@@ -1209,6 +1209,9 @@ static void ndisc_ra_useropt(struct sk_buff *ra, struct nd_opt_hdr *opt)
|
||||
ndmsg->nduseropt_icmp_type = icmp6h->icmp6_type;
|
||||
ndmsg->nduseropt_icmp_code = icmp6h->icmp6_code;
|
||||
ndmsg->nduseropt_opts_len = opt->nd_opt_len << 3;
|
||||
ndmsg->nduseropt_pad1 = 0;
|
||||
ndmsg->nduseropt_pad2 = 0;
|
||||
ndmsg->nduseropt_pad3 = 0;
|
||||
|
||||
memcpy(ndmsg + 1, opt, opt->nd_opt_len << 3);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user