---
id: CVE-2026-98850
title: 'net/packet: prevent TX_RING byte count overflow'
summary: |-
  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.…
severity: none
vendor: Linux
product: Linux
affected:
  - >-
    Linux >= 69e3c75f4d541a6eb151b3ef91f34033cb3ad6e1 <
    be12b221c0301111eeb023be04add3c6ad7c21fe
  - >-
    Linux >= 69e3c75f4d541a6eb151b3ef91f34033cb3ad6e1 <
    69ca64bbb528898916f309552053c32a04a36ebc
  - >-
    Linux >= 69e3c75f4d541a6eb151b3ef91f34033cb3ad6e1 <
    9fd63d284e251332f4874ef9023cde472f315f86
  - >-
    Linux >= 69e3c75f4d541a6eb151b3ef91f34033cb3ad6e1 <
    2cf81fc9505b148b1b70068303ea6ea4b1212403
  - Linux 2.6.31
published: '2026-10-18'
updated: '2026-10-18'
sourceUpdated: '2026-10-18T15:50:50.062Z'
source: CVEORG
sourceUrl: 'https://www.cve.org/CVERecord?id=CVE-2026-98850'
references:
  - url: 'https://git.kernel.org/stable/c/be12b221c0301111eeb023be04add3c6ad7c21fe'
  - url: 'https://git.kernel.org/stable/c/69ca64bbb528898916f309552053c32a04a36ebc'
  - url: 'https://git.kernel.org/stable/c/9fd63d284e251332f4874ef9023cde472f315f86'
  - url: 'https://git.kernel.org/stable/c/2cf81fc9505b148b1b70068303ea6ea4b1212403'
tags:
  - cve.org
ingestedAt: '2026-10-18T16:47:32.464Z'
---

## Overview

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.

## Affected

- `Linux >= 69e3c75f4d541a6eb151b3ef91f34033cb3ad6e1 < be12b221c0301111eeb023be04add3c6ad7c21fe`
- `Linux >= 69e3c75f4d541a6eb151b3ef91f34033cb3ad6e1 < 69ca64bbb528898916f309552053c32a04a36ebc`
- `Linux >= 69e3c75f4d541a6eb151b3ef91f34033cb3ad6e1 < 9fd63d284e251332f4874ef9023cde472f315f86`
- `Linux >= 69e3c75f4d541a6eb151b3ef91f34033cb3ad6e1 < 2cf81fc9505b148b1b70068303ea6ea4b1212403`
- `Linux 2.6.31`

## Remediation

Refer to the linked advisories for vendor-supplied fixes and affected version ranges.
