xen/netfront: don't leak the skb when xennet_fill_frags() 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 4.5, 4.10, 4.15, 4.19, 6.6.160, and 3 more
- 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: xen/netfront: don't leak the skb when xennet_fill_frags() fails When a response chain has more slots than fit in the skb's frags, xennet_fill_frags() returns an error and xennet_poll() jumps to its error path. That path moves what's left on tmpq to errq to be freed, but the skb being filled was already dequeued from tmpq, so it's never freed. Each chain that overflows leaks the skb and the pages attached to it as frags, and the backend decides how many slots it sends. Put the skb back on tmpq before taking the error path, like the xennet_set_skb_gso() failure just above it does.
Timeline
- CVE published
- First seen by cve.now
- Record last updated
Affected versions
- Linux Linux
From 4.4.159 · fixed in 4.5; From 4.9.130 · fixed in 4.10; From 4.14.73 · fixed in 4.15; From 4.18.11 · fixed in 4.19
- Linux Linux
4.19
- KernelLinux
From 4.19.0 · fixed in 6.6.160; From 6.7.0 · fixed in 6.12.113; From 6.13.0 · fixed in 6.18.57; From 6.19.0 · fixed in 7.2.11
References 8
git.kernel.org
- stable/c/6e6bd1051daabc327233c3ca3d00613fc6783c8e
- stable/c/0cf0a25a639c535146c5eb4480d256995721aed6
- stable/c/53a131eb2a998c77e2851401b32b712d6c6e8487
- stable/c/5051df031144753d3e18862514969146b601d089
- stable/c/99011a11c97340ef7290df7dc199305c73fab2f2
- stable/c/086944c1c2cbb683543bc3ff08637847b03c8009
- stable/c/84e3ea6502b5f14ce8d499d0b6e0e38386274cf0
- stable/c/93ccaf1c26e2133396173b76a071e59024daa622