bonding: alb: fix uninitialized transport header access in alb_determine_nd()
- 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.189, 6.6.158, 6.12.111, 6.18.53, 7.2.7
- 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
Summary
In the Linux kernel, the following vulnerability has been resolved: bonding: alb: fix uninitialized transport header access in alb_determine_nd() alb_determine_nd() uses icmp6_hdr(skb) to inspect ICMPv6 headers. However, in xmit paths (e.g. packets sent via AF_PACKET / raw sockets or forwarded packets), skb->transport_header is not guaranteed to be initialized. While pskb_network_may_pull() ensures the packet data is linear starting from the network header, it does not set or adjust the transport header offset. Dereferencing icmp6_hdr(skb) can therefore access out-of-bounds memory. Fetch the icmp6hdr directly after ipv6hdr following pskb_network_may_pull(), and reload ipv6hdr in case pskb_may_pull() reallocated skb->head. Also remove the unused bond argument from alb_determine_nd().
Timeline
- CVE published
- Record last updated
Affected versions
- Linux Linux
From 0da8aa00bfcfeb3f4e6537dd8e2001e0727ba549 · fixed in 862c8eb6947689c44fe11353755576a3672563a5; From 0da8aa00bfcfeb3f4e6537dd8e2001e0727ba549 · fixed in 7adb1bf25b0c5cedfb49b6e82844394d4f3c0d99; From 0da8aa00bfcfeb3f4e6537dd8e2001e0727ba549 · fixed in e39cf90bd856443542b97933289749fca07476bf; From 0da8aa00bfcfeb3f4e6537dd8e2001e0727ba549 · fixed in 27314f96d29b54e815e7a9b84c3273f1895e68e2; From 0da8aa00bfcfeb3f4e6537dd8e2001e0727ba549 · fixed in 3b178894931a268c09126a5b53630f343e10e296; From 0da8aa00bfcfeb3f4e6537dd8e2001e0727ba549 · fixed in 70f3995830d3f1e79faa14eb0605914f778feca9
- Linux Linux
5.18
- KernelLinux
From 5.18.0 · fixed in 6.1.189; From 6.2.0 · fixed in 6.6.158; From 6.7.0 · fixed in 6.12.111; From 6.13.0 · fixed in 6.18.53; From 6.19.0 · fixed in 7.2.7