Description
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.
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
ad4f15dc2c70b1de5e0a64d27335962fbc9cf71c to < 6e6bd1051daabc327233c3ca3d00613fc6783c8eaffectedad4f15dc2c70b1de5e0a64d27335962fbc9cf71c to < 0cf0a25a639c535146c5eb4480d256995721aed6affectedad4f15dc2c70b1de5e0a64d27335962fbc9cf71c to < 53a131eb2a998c77e2851401b32b712d6c6e8487affectedad4f15dc2c70b1de5e0a64d27335962fbc9cf71c to < 5051df031144753d3e18862514969146b601d089affectedad4f15dc2c70b1de5e0a64d27335962fbc9cf71c to < 99011a11c97340ef7290df7dc199305c73fab2f2affectedad4f15dc2c70b1de5e0a64d27335962fbc9cf71c to < 086944c1c2cbb683543bc3ff08637847b03c8009affectedad4f15dc2c70b1de5e0a64d27335962fbc9cf71c to < 84e3ea6502b5f14ce8d499d0b6e0e38386274cf0affectedad4f15dc2c70b1de5e0a64d27335962fbc9cf71c to < 93ccaf1c26e2133396173b76a071e59024daa622affectedbd1468048aa3e2af865da92990539946d4483989affected29a6193c0d74390c004808441061ac1812cf6f51affected7eced4478f4ec6ff0a603ddfd6e24a5d3831fca7affectedb73a161e9beff24bf1803ba393dff95a255268f9affected4.4.159 to < 4.5affected4.9.130 to < 4.10affected4.14.73 to < 4.15affected4.18.11 to < 4.19affected
Linux Linux
Default version status: affected
4.19affected0 to < 4.19unaffected5.10.273 to ≤ 5.10.*unaffected5.15.224 to ≤ 5.15.*unaffected6.1.191 to ≤ 6.1.*unaffected6.6.160 to ≤ 6.6.*unaffected6.12.113 to ≤ 6.12.*unaffected6.18.57 to ≤ 6.18.*unaffected7.2.11 to ≤ 7.2.*unaffected7.3 to ≤ *unaffected
References
- https://git.kernel.org/stable/c/6e6bd1051daabc327233c3ca3d00613fc6783c8e ↗
- https://git.kernel.org/stable/c/0cf0a25a639c535146c5eb4480d256995721aed6 ↗
- https://git.kernel.org/stable/c/53a131eb2a998c77e2851401b32b712d6c6e8487 ↗
- https://git.kernel.org/stable/c/5051df031144753d3e18862514969146b601d089 ↗
- https://git.kernel.org/stable/c/99011a11c97340ef7290df7dc199305c73fab2f2 ↗
- https://git.kernel.org/stable/c/086944c1c2cbb683543bc3ff08637847b03c8009 ↗
- https://git.kernel.org/stable/c/84e3ea6502b5f14ce8d499d0b6e0e38386274cf0 ↗
- https://git.kernel.org/stable/c/93ccaf1c26e2133396173b76a071e59024daa622 ↗