CVE Catalog

CVE-2026-97619

Unknown
Published: Translated: NVD NIST

Summary

A vulnerability was found in the Linux kernel's io_uring/rw subsystem. Moving write accounting completion to task_work causes a deadlock during filesystem freeze, as the task waits on the sb_writers semaphore. The fix moves write accounting completion back to the ki_complete handler, leaving only fsnotify calls in task_work.

Risk Assessment

An attacker could exploit this vulnerability to cause a kernel deadlock, leading to denial of service (DoS) — the filesystem cannot be frozen, and processes may hang in D state, disrupting normal system operation.

Recommendation

Apply the kernel patch provided by the Linux vendor immediately (update to a version containing the fix commit). Monitor distribution security advisories and schedule urgent system updates.

Other vulnerabilities in Linux kernel

See all
Original NVD description (English source)

In the Linux kernel, the following vulnerability has been resolved: io_uring/rw: end write accounting from ->ki_complete Commit b000145e9907 moved both the fsnotify calls and the write accounting out of the kiocb completion handler and into the io_req_rw_complete() task_work. However, only the fsnotify part actually needed to move as it may sleep. Ending the write accounting is just a percpu_up_read() on the superblock writers sem. Deferring it is a problem, because it makes dropping SB_FREEZE_WRITE protection depend on the ring owner getting to running task_work. But the task may be blocked in freeze_super(), causing it to never get to that: task io-wq worker -------------------------------------------------------------- io_write() io_kiocb_start_write() (takes sb_writers, hidden from lockdep by __sb_writers_release) write_iter() -> -EIOCBQUEUED ioctl(FS_IOC_SHUTDOWN) bdev_freeze() freeze_super() percpu_down_write() <- waits for the reader above io_write() kiocb_start_write() percpu_down_read() <- queued behind the writer <bio completes> io_complete_rw() queues io_req_rw_complete() <- never runs, task is in D state End the write from io_complete_rw() instead, and leave only the fsnotify calls in task_work.

Vulnerability data from NVD (NIST) · CISA KEV · EPSS