neigh: let neigh_xmit take skb ownership
- 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.175, 6.6.141, 6.12.91, 6.18.33, 7.0.10
- 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: neigh: let neigh_xmit take skb ownership neigh_xmit always releases the skb, except when no neighbour table is found. But even the first added user of neigh_xmit (mpls) relied on neigh_xmit to release the skb (or queue it for tx). sashiko reported: If neigh_xmit() is called with an uninitialized neighbor table (for example, NEIGH_ND_TABLE when IPv6 is disabled), it returns -EAFNOSUPPORT and bypasses its internal out_kfree_skb error path. Because the return value of neigh_xmit() is ignored here, does this leak the SKB? Assume full ownership and remove the last code path that doesn't xmit or free skb.
Timeline
- CVE published
- CISA SSVC assessment
Exploitation: none · Automatable: yes · Technical impact: partial
- Record last updated
Affected versions
- Linux Linux
From 4fd3d7d9e868ffbdb0e7a67c5c8e9dfdcd846a62 · fixed in 8a89054a1ec0767aec25ed2bbac933da6ba3cf5a; From 4fd3d7d9e868ffbdb0e7a67c5c8e9dfdcd846a62 · fixed in 9247d59ca15bf60a57dca08103f055d8a4340877; From 4fd3d7d9e868ffbdb0e7a67c5c8e9dfdcd846a62 · fixed in 0084712e0bee204b284510cdb63182fd5a30c2b7; From 4fd3d7d9e868ffbdb0e7a67c5c8e9dfdcd846a62 · fixed in 63063ba60d2dc334e34f1e3f9271d7f3f6f30307; From 4fd3d7d9e868ffbdb0e7a67c5c8e9dfdcd846a62 · fixed in 445e45a2c3a078316a62d2d331a570cf34ef5079; From 4fd3d7d9e868ffbdb0e7a67c5c8e9dfdcd846a62 · fixed in 4438113be604ee67a7bf4f81da6e1cca41332ce4
- Linux Linux
4.1
- KernelLinux
From 4.1.0 · fixed in 6.1.175; From 6.2.0 · fixed in 6.6.141; From 6.7.0 · fixed in 6.12.91; From 6.13.0 · fixed in 6.18.33; From 6.19.0 · fixed in 7.0.10