CVEvulnerability
CVE-2026-98850
- Status
- Received
- Published
- 2026-10-18
- Last modified
- 2026-10-21
- Assigner
- 416baaa9-dc9f-4396-8d5f-8c081fb06d67
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
- https://git.kernel.org/stable/c/2cf81fc9505b148b1b70068303ea6ea4b1212403 git.kernel.org
- https://git.kernel.org/stable/c/69ca64bbb528898916f309552053c32a04a36ebc git.kernel.org
- https://git.kernel.org/stable/c/9fd63d284e251332f4874ef9023cde472f315f86 git.kernel.org
- https://git.kernel.org/stable/c/ae169d318d5d23bac76ece90a7e2b5cb760ed043 git.kernel.org
- https://git.kernel.org/stable/c/be12b221c0301111eeb023be04add3c6ad7c21fe git.kernel.org