CVE-2026-98850: net/packet: prevent TX_RING byte count overflow

Published Oct 18, 2026
·
Updated

In the Linux kernel, the following vulnerability has been resolved:

net/packet: prevent TXRING byte count overflow

tpacketsnd() drains every SENDREQUEST frame in a TX ring and adds each valid packet length to the signed int lensum. Userspace can recycle completed frames concurrently, so a single blocking send call is not bounded by the ring size.

After enough successful transmissions lensum wraps into the negative range. In particular, 65536 65535-byte frames followed by a 65007-byte frame produce 0xfffffdef, or -EIOCBQUEUED. socksendmsgnosec() treats that as an impossible return and triggers a BUG. On systems configured to panic on oops, a CAPNETRAW holder can panic the host kernel.

Stop before the next frame would make the byte count exceed INTMAX. The positive short count leaves that frame pending for a later send call.

A two-thread TPACKETV2 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 Software

1 affected component
Linux Linux kernel

Remediation

Recommended actions to resolve this vulnerability, in priority order.

  1. Upgrade

    Upgrade Linux kernel to a version that resolves this vulnerability.

    Fixed in 7.3-rc4

Event History

Oct 18, 2026
CVE Published
via MITRE·03:50 PM
Data Sourced
via MITRE·03:50 PM
Description
Data Sourced
via NVD·04:17 PM
Description

Frequently Asked Questions

1

Who can exploit this issue in practice?

An attacker needs CAP_NET_RAW and the ability to use a packet socket TX ring. The described impact is a kernel BUG and, on systems configured to panic on oops, a host kernel panic.

2

What conditions are required to trigger the overflow?

The trigger requires a blocking send call draining TX_RING frames while userspace concurrently recycles completed frames, allowing the accumulated transmitted-byte count to grow beyond a signed integer limit. The provided reproducer used two threads and TPACKET_V2.

3

How can I tell whether the system has been affected?

The described failure causes sock_sendmsg_nosec() to encounter the wrapped negative value and trigger a BUG. On systems that panic on oops, this may appear as a kernel panic during packet-socket TX_RING activity.

4

What behavior changes after the fix?

The kernel stops processing before adding a frame that would make the byte count exceed INT_MAX. It returns a positive short count and leaves that frame pending for a later send call, rather than reaching the BUG condition.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203