GPU VulnDB

Database/Kernel, userspace & hypervisor

Linux kernel io_uring: waitid entry left on the wait queue races the callback on cancellation

CVSS 7.8CVE-2025-40047Kernel, userspace & hypervisorcurated

Impact

io_waitid_wait() skipped removing its entry from the wait queue list when a cancellation was already in progress, which can race a second invocation of the same wait-queue callback. The fix always prunes the entry on a successful return. io_uring is the submission path a lot of modern storage and serving code uses on GPU nodes, and it is reachable by any unprivileged process unless explicitly gated, so a race in its cancellation path is a local integrity concern on a shared node. The record does not describe a demonstrated exploitation path - treat it as a concurrency bug with crash potential rather than an established privilege escalation.

Who can reach it

Local, unprivileged: a process issuing IORING_OP_WAITID and cancelling it concurrently. No authentication beyond a shell or container on the node. Clusters that disable io_uring (seccomp profile, kernel.io_uring_disabled, or a runtime that blocks the syscalls) are not exposed.

What to do

Update to a stable kernel containing the fix (three commits in the record) and reboot the node. As an interim mitigation, io_uring can be restricted or disabled with kernel.io_uring_disabled or a seccomp profile that blocks io_uring_setup - check first whether your serving or storage stack depends on it.

References

Related entries

All Kernel, userspace & hypervisor entries

This entry is curated: imported from vendor advisories with machine assistance, not yet individually verified. Confirm against your vendor's advisory before acting, and report anything wrong.