{"affected":[{"defaultStatus":"unaffected","product":"Linux","source":"CNA: Linux","vendor":"Linux","versions":[{"lessThan":"67da3eec264aeb67835886720243ae2dc1463315","status":"affected","version":"4b4e5bbf9386d4ec21d91c0cb0fd60b9bba778ec","versionType":"git"},{"lessThan":"a63c752157eacf49f628359822666b32503d194a","status":"affected","version":"71a85387546e50b1a37b0fa45dadcae3bfb35cf6","versionType":"git"},{"lessThan":"1432d881d99584105122760133caeff1dce7a9f7","status":"affected","version":"71a85387546e50b1a37b0fa45dadcae3bfb35cf6","versionType":"git"},{"lessThan":"6cf012a4d5e461c788ecc9dbed67adc31a142644","status":"affected","version":"71a85387546e50b1a37b0fa45dadcae3bfb35cf6","versionType":"git"},{"lessThan":"0d81cdd433b0a96c5275c01b8172e0b1f71dd595","status":"affected","version":"71a85387546e50b1a37b0fa45dadcae3bfb35cf6","versionType":"git"},{"lessThan":"75395db7a9b40a2e826c838e648fef8ed1a2d174","status":"affected","version":"71a85387546e50b1a37b0fa45dadcae3bfb35cf6","versionType":"git"},{"lessThan":"31fc780b75b278d37700373d54a99fdb4117fdd6","status":"affected","version":"71a85387546e50b1a37b0fa45dadcae3bfb35cf6","versionType":"git"},{"lessThan":"5.15.224","status":"affected","version":"5.15.11","versionType":"semver"}]},{"defaultStatus":"affected","product":"Linux","source":"CNA: Linux","vendor":"Linux","versions":[{"status":"affected","version":"5.16"},{"lessThan":"5.16","status":"unaffected","version":"0","versionType":"semver"},{"lessThanOrEqual":"5.15.*","status":"unaffected","version":"5.15.224","versionType":"semver"},{"lessThanOrEqual":"6.1.*","status":"unaffected","version":"6.1.191","versionType":"semver"},{"lessThanOrEqual":"6.6.*","status":"unaffected","version":"6.6.161","versionType":"semver"},{"lessThanOrEqual":"6.12.*","status":"unaffected","version":"6.12.115","versionType":"semver"},{"lessThanOrEqual":"6.18.*","status":"unaffected","version":"6.18.60","versionType":"semver"},{"lessThanOrEqual":"7.2.*","status":"unaffected","version":"7.2.14","versionType":"semver"},{"lessThanOrEqual":"7.3.*","status":"unaffected","version":"7.3.1","versionType":"semver"}]}],"cveId":"CVE-2026-99243","cwes":[],"description":"In the Linux kernel, the following vulnerability has been resolved:\n\nio-wq: order the exit bit against worker creation task work\n\nio_wq_exit_workers() cancels task work for queued worker creation with\ntask_work_cancel_match(). That has a plain load of task->task_works.\n\nio_queue_worker_create() adds the new entry and tests IO_WQ_BIT_EXIT to\ncancel it if the workqueue is already on its way out.\n\nThat must be ordered. task_work_add() has a full barrier via cmpxchg().\nBut io_wq_exit_start() sets the bit with set_bit() which doesn't have\nany memory ordering.\n\nSo afaict, on weakly ordered architectures the exiting task may load\ntask_works before the store of the bit is visible. The other side tests\nthe bit before the store is visible as well. So the entry remains queued\nwith worker_refs and the exiting task waits on worker_done indefinitely.\n\nIf the task still has rings then io_uring_del_tctx_node() provides the\nbarrier via test_and_set_bit() in io_wq_set_exit_on_idle(). When it\nhas closed all rings though that barrier is gone.\n\nAdd the barrier after the set_bit().","epss":null,"exploits":[],"kev":null,"metrics":[],"modifiedAt":1793704542615,"publishedAt":1793704470233,"references":[{"source":"CNA: Linux","tags":[],"url":"https://git.kernel.org/stable/c/67da3eec264aeb67835886720243ae2dc1463315"},{"source":"CNA: Linux","tags":[],"url":"https://git.kernel.org/stable/c/a63c752157eacf49f628359822666b32503d194a"},{"source":"CNA: Linux","tags":[],"url":"https://git.kernel.org/stable/c/1432d881d99584105122760133caeff1dce7a9f7"},{"source":"CNA: Linux","tags":[],"url":"https://git.kernel.org/stable/c/6cf012a4d5e461c788ecc9dbed67adc31a142644"},{"source":"CNA: Linux","tags":[],"url":"https://git.kernel.org/stable/c/0d81cdd433b0a96c5275c01b8172e0b1f71dd595"},{"source":"CNA: Linux","tags":[],"url":"https://git.kernel.org/stable/c/75395db7a9b40a2e826c838e648fef8ed1a2d174"},{"source":"CNA: Linux","tags":[],"url":"https://git.kernel.org/stable/c/31fc780b75b278d37700373d54a99fdb4117fdd6"}],"remediation":[],"revision":"3232622a8e45e85b8a4f7e00067e79776336d13769ba445497d933d4d9c0a1e8","sources":[{"modifiedAt":1793704542615,"name":"CNA: Linux","retrievedAt":1793707716589,"url":"https://www.cve.org/CVERecord?id=CVE-2026-99243"}],"ssvc":null,"status":"published","title":"io-wq: order the exit bit against worker creation task work","updatedAt":1793707716589}