net: do not send ICMP/NDISC Redirects when peer allocation fails
- Published
- Last modified
- Where the record stands: published, rejected by its publisher, or superseded by another id.What do these mean? →
- published
- Whether CISA lists it in its Known Exploited Vulnerabilities catalog: proof that attackers are using it.What do these mean? →
- Not listed in CISA KEV
- Fix
- Fixed in 6.1.183, 6.6.151, 6.12.103, 6.18.44, 7.1.8
- Whether working attack code is public (Exploit-DB, Metasploit, Nuclei or GitHub). Public code makes attacks easier.What do these mean? →
- None on Exploit-DB, Metasploit or GitHub
- Exploitation: none
- Automatable: yes
- Technical impact: partial
Summary
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.
Timeline
- CVE published
- CISA SSVC assessment
Exploitation: none · Automatable: yes · Technical impact: partial
- Record last updated
Affected versions
- Linux Linux
From 92d8682926342d2b6aa5b2ecc02221e00e1573a0 · fixed in c0adf8b4247bcc5a145a25c1929006eb392580bb; From 92d8682926342d2b6aa5b2ecc02221e00e1573a0 · fixed in f5ecaa7ea7686fa7ecdb6affc9d3a9a42e4524b1; From 92d8682926342d2b6aa5b2ecc02221e00e1573a0 · fixed in 21666f7af49a90ef44d474916b8ef4402dfd74f5; From 92d8682926342d2b6aa5b2ecc02221e00e1573a0 · fixed in 5ec5f00fc606a6df8434948c4552b3cb1176595d; From 92d8682926342d2b6aa5b2ecc02221e00e1573a0 · fixed in 828f6670d110ff2bf44c743037b38badc315704c; From 92d8682926342d2b6aa5b2ecc02221e00e1573a0 · fixed in dbc3791e3b2472e1ccc08947e0f83b443470ff4f
- Linux Linux
2.6.39
- KernelLinux
From 2.6.39 · fixed in 6.1.183; From 6.2.0 · fixed in 6.6.151; From 6.7.0 · fixed in 6.12.103; From 6.13.0 · fixed in 6.18.44; From 6.19.0 · fixed in 7.1.8