Stale NAPI entries never time out in Linux io_uring busy polling
Key facts
- Attack vector
- —
- Privileges required
- —
- User interaction
- —
- Attack complexity
- —
- Impact type
- —
- Confidentiality · integrity · availability
- —
- Fix status
- Fixed
No CVSS vector from any source. Fix status from CNA.
Summary
In the Linux kernel from 6.9, the io_uring NAPI busy poll timeout is defined with the wrong constant, so stale NAPI IDs are not dropped after 60 seconds. The timeout is about eight years on 64-bit systems and overflows on 32-bit systems, so entries are never removed. Every NAPI ID a socket of the ring has ever used keeps being polled on each wait, which causes unnecessary work for local users with access to the ring.
Written with Claude Haiku 5.5 from the sources below · 2026-11-06
Description from the CNA
In the Linux kernel, the following vulnerability has been resolved: io_uring/napi: make stale entries time out after 60s With dynamic tracking a NAPI id that hasn't been seen for a minute is meant to be dropped from the list the ring busy polls. The timeout is added to jiffies, but it is defined as 60 * SEC_CONVERSION, and SEC_CONVERSION isn't the number of jiffies in a second. It is the internal factor of __timespec64_to_jiffies(), HZ scaled up by SEC_JIFFIE_SC bits. For HZ=1000 that is 1000 << 22, which puts the timeout at about eight years. On 32-bit the multiplication overflows. So entries are never removed, and every id that a socket of the ring ever had keeps being polled on each wait.
Why it matters now
SSVC decision points
Not available: CISA has not published SSVC decision points for this record.
Affected products
Remediation
Upgrade the Linux kernel to 6.12.115, 6.18.60, 7.2.14 or 7.4-rc1 or later, depending on the branch in use.
Written with Claude Haiku 5.5 from the sources below · 2026-11-06
- Fix · CNA Linux (Linux) Fixed in 6.12.115, 6.18.60, 7.2.14, 7.4-rc1
Timeline
- 2026-11-03 Threatist record created from CVE-2026-99267
- 2026-11-03 Alias added: GHSA-x9qg-p3cx-xhhv
- 2026-11-03 Fix available: Linux/[email protected], Linux/Linux@9c151648780d89e5446e5f89f3fa2e416c3bb911 · CNA
- 2026-11-03 1 new reference · CNA
References
More Linux vulnerabilities
- TI-2025-26358 tls: fix handling of zero-length records on the rx_list KEVCVSS 3.1CRITICAL 9.8
- TI-2026-38352 netfilter: bridge: make ebt_snat ARP rewrite writable KEVCVSS 3.1HIGH 8.8
- TI-2021-02452 Incorrect authorization in Ubuntu linux kernel KEVCVSS 3.1HIGH 8.8
- TI-2013-05264 The (1) get_user and (2) put_user API functions in the Linux kernel before 3.5.5 on the… KEVCVSS 3.1HIGH 8.8
- TI-2022-00125 Integer overflow in kernel KEVCVSS 3.1HIGH 8.4
- TI-2013-01864 The perf_swevent_init function in kernel/events/core.c in the Linux kernel before 3.8.9… KEVCVSS 3.1HIGH 8.4
Sources
- CVE-2026-99267 · CVE Program
- CVE-2026-99267 · NVD
- FIRST EPSS
- GHSA-x9qg-p3cx-xhhv · GitHub Advisory Database · CC BY 4.0
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences