CVE-2026-53321: Linux io_uring NAPI Busy-Poll Denial of Service
A flaw in the Linux kernel's io_uring network polling subsystem allows a task to monopolize CPU time without yielding control back to the scheduler. The kernel's NAPI (Network API) polling mechanism, used by io_uring to efficiently check for network events, previously had no upper limit on how long it could poll continuously. This can cause the kernel to complain that a task is stuck, degrading system responsiveness and potentially causing watchdog timeouts. The fix caps the maximum polling duration at 10 milliseconds, which is still generous for performance but low enough to prevent scheduler complaints.
Source data · NVD / CISA · public domain
- CVSS
- 3.1 · 5.5 MEDIUM · CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
- Weaknesses (CWE)
- —
- Affected products
- 2 configuration(s)
- Published / Modified
- 2026-06-26 / 2026-07-06
NVD description (verbatim)
In the Linux kernel, the following vulnerability has been resolved: io_uring/napi: cap busy_poll_to 10 msec Currently there's no cap on the maximum amount of time that napi is allowed to poll if no events are found, which can lead to kernel complaints on a task being stuck as there's no conditional rescheduling done within that loop. Just cap it to 10 msec in total, that's already way above any kind of sane value that will reap any benefits, yet low enough that it's nowhere near being able to trigger preemption complaints.
3 reference(s) · View on NVD →
SEC.co analysis · AI-assisted, reviewed against source
Technical summary
In the Linux kernel's io_uring implementation, the NAPI busy-poll code path lacks a ceiling on busy_poll_to, the maximum duration allowed to poll for network events when none are immediately available. The polling loop performs no conditional rescheduling, meaning a task can hold the CPU indefinitely without reaching a preemption point. This violates kernel scheduler assumptions and can trigger 'task stuck' warnings. The vulnerability is resolved by introducing a 10-millisecond cap on the total poll duration, ensuring regular opportunities for context switching while maintaining the performance benefits of busy-polling for low-latency network I/O workloads.
Business impact
For organizations running latency-sensitive workloads on Linux with io_uring and NAPI enabled, this vulnerability can cause unpredictable system hangs, application timeouts, and kernel warnings that degrade reliability. Database servers, financial trading systems, and real-time analytics platforms relying on kernel bypass networking may experience denial-of-service conditions if untrusted code triggers excessive busy-polling. The impact is confined to systems where io_uring is actively used with network polling, which is not enabled by default in most distributions, reducing exposure but increasing severity for adopters of high-performance I/O patterns.
Affected systems
Linux kernel systems with io_uring support and network polling enabled. Exposure is primarily limited to systems where applications explicitly use io_uring for network I/O and enable NAPI polling. This includes high-performance database engines, custom networking applications, and systems using io_uring-aware libraries. Standard workloads using traditional syscalls are not affected. Exposure depends on kernel version, configuration, and active io_uring usage; most general-purpose Linux distributions in default configuration are at lower risk.
Exploitability
The vulnerability requires local access and the ability to execute code with unprivileged permissions—no special privilege escalation is needed. An unprivileged user can invoke io_uring with network polling to trigger the condition. However, exploitation requires knowledge of io_uring APIs and deliberate intent to stall the scheduler; accidental triggers are unlikely. The flaw does not enable privilege escalation or data exfiltration, only denial of service to system responsiveness. There is no remote attack vector.
Remediation
Apply a Linux kernel update that includes the fix capping busy_poll_to to 10 milliseconds. Verify the patch level against your distribution's advisory. For interim mitigation on systems where io_uring is not essential, disable io_uring at compile time or via kernel parameters. Review application code for unnecessary use of io_uring network polling, and ensure workload isolation prevents untrusted code from accessing io_uring interfaces.
Patch guidance
Monitor your Linux distribution's security advisory for the specific kernel version update containing this fix. Verify the patch details against the vendor advisory to confirm the busy_poll_to cap is included. Test the patched kernel in a staging environment to ensure compatibility with your io_uring workloads before production deployment. If your distribution has not yet released a patched kernel, contact your vendor's support for an estimated timeline.
Detection guidance
Monitor kernel logs for 'task stuck' warnings, 'RCU stalls', or 'NMI watchdog' messages correlated with io_uring activity. Use tools such as bpftrace or perf to profile CPU time spent in io_uring NAPI polling loops. Watch for unexplained latency spikes or missed scheduler deadlines on systems running io_uring-heavy workloads. Implement per-process CPU accounting to identify tasks consuming excessive time without yielding.
Why prioritize this
This is a medium-severity denial-of-service vulnerability affecting local attack surface. It ranks below critical or high-severity flaws but warrants timely patching for organizations running latency-critical or multi-tenant systems where io_uring is used. Prioritize patching for production systems running high-performance database or networking workloads, and for shared infrastructure where untrusted users may execute code.
Risk score, explained
CVSS 3.1 score of 5.5 (Medium) reflects local-only attack vector, unprivileged execution requirement, and denial-of-service impact limited to system responsiveness (no confidentiality or integrity breach). The score appropriately discounts the severity since it does not enable privilege escalation and requires explicit io_uring usage, but it accounts for the potential to degrade availability in affected workloads.
Frequently asked questions
Does this vulnerability allow privilege escalation or data theft?
No. The flaw is a denial-of-service vulnerability affecting system responsiveness. It does not enable privilege escalation, code execution as root, or unauthorized data access.
Are all Linux systems vulnerable?
No. Only systems with io_uring support enabled and actively using io_uring for network polling with NAPI are affected. Most general-purpose Linux distributions in default configuration are at lower risk unless they explicitly enable and use io_uring for networking.
Can this be exploited remotely?
No. The vulnerability requires local code execution. Remote attackers cannot trigger this flaw over the network.
What should I do if I cannot patch immediately?
If io_uring is not essential to your workload, consider disabling it at the kernel level. Implement process isolation and access controls to prevent untrusted code from using io_uring. Monitor system logs for signs of task stalls and plan patching as soon as your distribution releases an update.
This analysis is based on the CVE record and vendor advisory as of the publication date. Specific patch version numbers and availability dates should be verified against your distribution's official security advisories. Testing in a non-production environment is recommended before applying kernel updates. This document does not constitute professional security advice; consult with your security team for deployment decisions. Source: NVD (public-domain), retrieved 2026-08-05. Analysis generated by SEC.co (claude-haiku-4-5).
Affected vendors
Related vulnerabilities
- CVE-2025-36372MEDIUMIBM Db2 Information Disclosure in Monitoring Tables
- CVE-2025-71313MEDIUMLinux Kernel PCI Endpoint NULL Pointer Dereference
- CVE-2025-71314MEDIUMLinux Panthor GPU Driver Denial of Service via Cache Flush Timeout
- CVE-2025-71315MEDIUMLinux Kernel vkms DRM Vblank Timer Denial of Service
- CVE-2026-0268MEDIUMPrisma Access Agent Linux VPN Bypass Vulnerability
- CVE-2026-10004MEDIUMChrome UI Spoofing Vulnerability – Password Dialog Hijacking
- CVE-2026-10018MEDIUMInteger Overflow in Chrome ANGLE GPU Graphics Layer
- CVE-2026-10912MEDIUMChrome Extension Same-Origin Policy Bypass (CVSS 6.5)