net/packet: prevent TX_RING byte count overflow (Linux Linux)

CVE-2026-98850
Not available

At a glance

Source
NVD
EPSS
EPSS 0.17 % · percentile 6 ()
State
PUBLISHED
Published
Updated
Assigner
Linux
NVD status
Received

Description

In the Linux kernel, the following vulnerability has been resolved: net/packet: prevent TX_RING byte count overflow tpacket_snd() drains every SEND_REQUEST frame in a TX ring and adds each valid packet length to the signed int len_sum. Userspace can recycle completed frames concurrently, so a single blocking send call is not bounded by the ring size. After enough successful transmissions len_sum wraps into the negative range. In particular, 65536 65535-byte frames followed by a 65007-byte frame produce 0xfffffdef, or -EIOCBQUEUED. sock_sendmsg_nosec() treats that as an impossible return and triggers a BUG. On systems configured to panic on oops, a CAP_NET_RAW holder can panic the host kernel. Stop before the next frame would make the byte count exceed INT_MAX. The positive short count leaves that frame pending for a later send call. A two-thread TPACKET_V2 reproducer triggered the BUG on an arm64 build of Linux 7.3-rc4. With this change, the same reproducer returned the expected positive short count without an oops.

References

European references

CERT-FR advisories

Affected products

ProductVersions
Linux · Linuxaffected 69e3c75f4d541a6eb151b3ef91f34033cb3ad6e1 < 1e6ee93cea4b77253b1b81eb5759899f959ebee3 ; affected 69e3c75f4d541a6eb151b3ef91f34033cb3ad6e1 < 70fefff0801d4c5405e515592d1e7ad1351530cd ; affected 69e3c75f4d541a6eb151b3ef91f34033cb3ad6e1 < 4848c175b5984e6358bcca794ac1dee4d527efcc ; affected 69e3c75f4d541a6eb151b3ef91f34033cb3ad6e1 < ae169d318d5d23bac76ece90a7e2b5cb760ed043 ; affected 69e3c75f4d541a6eb151b3ef91f34033cb3ad6e1 < be12b221c0301111eeb023be04add3c6ad7c21fe ; affected 69e3c75f4d541a6eb151b3ef91f34033cb3ad6e1 < 69ca64bbb528898916f309552053c32a04a36ebc
Linux · Linuxaffected 2.6.31 ; unaffected 0 < 2.6.31 ; unaffected 5.10.273 ≤ 5.10.* ; unaffected 5.15.224 ≤ 5.15.* ; unaffected 6.1.191 ≤ 6.1.* ; unaffected 6.6.160 ≤ 6.6.*

Sources

SourceLicence
CVE List (CVEProject cvelistV5)CVE Program Terms of Use
EPSS (FIRST.org)FIRST — attribution requested
ENISA EUVDENISA — reproduction authorised, source acknowledged
CERT-FR (ANSSI)Licence Ouverte / Etalab 2.0
NVD (NIST) via fkie-cad/nvd-json-data-feedsPublic domain — this product uses data from the NVD API but is not endorsed or certified by the NVD