GPU VulnDB

Database/Kernel, userspace & hypervisor

Linux io_uring: bundle recv drops IORING_CQE_F_BUF_MORE, so userspace advances past a buffer the kernel still uses

CVSS 7.8CVE-2026-53191Kernel, userspace & hypervisorcurated

Impact

With provided buffer rings in incremental mode and bundle recv, a retry inside io_recv_finish() merged completion flags in a way that silently dropped IORING_CQE_F_BUF_MORE, and could carry a stale copy of the bit into the next iteration. The signal that tells userspace a buffer ID will be reused is therefore lost, so the application advances its ring head past an entry the kernel is still writing into - the kernel and the application end up disagreeing about who owns a buffer. The exposure is to whoever is driving the io_uring instance: an inference or storage server using incremental provided buffers gets memory handed back under it, which reads as data corruption or a crash in that service rather than a cross-tenant escape. Only configurations using IOU_PBUF_RING_INC with bundle recv are affected.

Who can reach it

Local - the process using io_uring with incremental provided buffer rings and bundle recv. Triggered by the local workload's own I/O pattern; no separate authentication boundary is crossed.

What to do

Update to a stable kernel that adds IORING_CQE_F_BUF_MORE to CQE_F_MASK. Workloads can avoid the path by not combining incremental provided buffer rings with bundle recv until the kernel is updated. Taking the kernel fix means drain and reboot each node.

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.