{"id":"CVE-2026-90291","published":"2026-09-17T17:17:26.263","lastModified":"2026-09-18T18:17:52.007","description":"In the Linux kernel, the following vulnerability has been resolved:\n\nmodule/dups: Fix use-after-free in kmod_dup_req lifetime handling\n\nThe kmod dups code uses RCU to ensure that a kmod_dup_req instance is freed\nonly after it is no longer referenced. When releasing an instance, the\nkmod_dup_request_delete() function removes the kmod_dup_req from the\ndup_kmod_reqs list, waits via synchronize_rcu() and finally frees it.\nHowever, this doesn't work correctly because parallel users referencing the\ninstance in kmod_dup_request_exists_wait() don't enter an RCU read-side\ncritical section. This can result in a use-after-free.\n\nThe kmod_dup_request_exists_wait() function may need to hold a valid\nreference to a kmod_dup_req instance across a blocking wait until the\ncorresponding modprobe command completes. This makes it unsuitable for RCU.\n\nFix the issue by changing the lifecycle management of kmod_dup_req to use\nreference counting.","cvssScore":7.8,"cvssSeverity":"HIGH","cvssVector":"CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H","cwes":[],"vendors":[],"products":[],"references":[{"url":"https://git.kernel.org/stable/c/2c85e0fb528e039aa8ea1e9c2a1f64347f990541","tags":[]},{"url":"https://git.kernel.org/stable/c/5eecb11b543f9f417bcf0dea239ff99c6af65dbd","tags":[]},{"url":"https://git.kernel.org/stable/c/b2709aad7599f6fd957939b60f4a8323c8f08072","tags":[]},{"url":"https://git.kernel.org/stable/c/cd2396fc9684d2cfd3f3c3f09c79d6d9d725b0ca","tags":[]}],"exploitRefs":[],"hasPoc":false,"ai":null}