Description
In the Linux kernel, the following vulnerability has been resolved: net: do not send ICMP/NDISC Redirects when peer allocation fails When inet_getpeer_v4() or inet_getpeer_v6() fails to allocate a peer entry under memory pressure or tree size caps, redirect handlers previously fell back to sending un-rate-limited ICMP/NDISC Redirect messages. In IPv4, ip_rt_send_redirect() called icmp_send() directly when peer == NULL. In IPv6, ip6_forward() and ndisc_send_redirect() passed a NULL peer into inet_peer_xrlim_allow(), which returned true when peer == NULL. Because ICMP/NDISC Redirects are not part of the default global rate limit mask (sysctl_icmp_ratemask), sending redirects when peer == NULL creates an un-rate-limited ICMP packet storm. Fix this by failing closed in ip_rt_send_redirect(), ip6_forward(), and ndisc_send_redirect() when peer is NULL.
Affected products
Version statuses are supplied by the assigning organization. Consult the original record for detailed ranges and platform conditions.
Linux Linux
Default version status: unaffected
92d8682926342d2b6aa5b2ecc02221e00e1573a0 to < c0adf8b4247bcc5a145a25c1929006eb392580bbaffected92d8682926342d2b6aa5b2ecc02221e00e1573a0 to < f5ecaa7ea7686fa7ecdb6affc9d3a9a42e4524b1affected92d8682926342d2b6aa5b2ecc02221e00e1573a0 to < 21666f7af49a90ef44d474916b8ef4402dfd74f5affected92d8682926342d2b6aa5b2ecc02221e00e1573a0 to < 5ec5f00fc606a6df8434948c4552b3cb1176595daffected92d8682926342d2b6aa5b2ecc02221e00e1573a0 to < 828f6670d110ff2bf44c743037b38badc315704caffected92d8682926342d2b6aa5b2ecc02221e00e1573a0 to < dbc3791e3b2472e1ccc08947e0f83b443470ff4faffected
Linux Linux
Default version status: affected
2.6.39affected0 to < 2.6.39unaffected6.1.183 to ≤ 6.1.*unaffected6.6.151 to ≤ 6.6.*unaffected6.12.103 to ≤ 6.12.*unaffected6.18.44 to ≤ 6.18.*unaffected7.1.8 to ≤ 7.1.*unaffected7.2 to ≤ *unaffected
References
- https://git.kernel.org/stable/c/c0adf8b4247bcc5a145a25c1929006eb392580bb ↗
- https://git.kernel.org/stable/c/f5ecaa7ea7686fa7ecdb6affc9d3a9a42e4524b1 ↗
- https://git.kernel.org/stable/c/21666f7af49a90ef44d474916b8ef4402dfd74f5 ↗
- https://git.kernel.org/stable/c/5ec5f00fc606a6df8434948c4552b3cb1176595d ↗
- https://git.kernel.org/stable/c/828f6670d110ff2bf44c743037b38badc315704c ↗
- https://git.kernel.org/stable/c/dbc3791e3b2472e1ccc08947e0f83b443470ff4f ↗