{"id":"CVE-2026-90162","published":"2026-09-17T17:17:09.517","lastModified":"2026-09-18T18:17:44.827","description":"In the Linux kernel, the following vulnerability has been resolved:\n\nksmbd: defer publishing granted locks to prevent UAF/double-free race\n\nIn smb2_lock(), mid-batch granted locks are published to connection-wide\n(conn->lock_list) and file-wide (fp->lock_list) lists immediately upon\nvfs_lock_file() success, while also remaining tracked on the stack-local\nrollback_list.\n\nIf a subsequent element in the same SMB2_LOCK request array fails\nvalidation or execution, the thread jumps to out: and walks\nrollback_list to undo previously granted locks. However, because the\ngranted lock was already published to conn->lock_list, a concurrent\nUNLOCK request on the same connection can find the lock object and\nkfree() it before the rollback loop executes.\n\nWhen the granting thread subsequently walks rollback_list, it\ndereferences and frees the already-freed ksmbd_lock structure, resulting\nin a Use-After-Free and Double-Free (on both ksmbd_lock and struct\nfile_lock).\n\nFix this by deferring the publication of granted locks to\nconn->lock_list and fp->lock_list until after the entire array of lock\nelements has been processed without error. Mid-batch grants remain\ntracked exclusively on the request-local rollback_list until the whole\nbatch succeeds, eliminating the race window.","cvssScore":8.8,"cvssSeverity":"HIGH","cvssVector":"CVSS:3.1/AV:N/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/29f74f0f2e6df3b393b7b66e810136d0c64e3c59","tags":[]},{"url":"https://git.kernel.org/stable/c/a1d26dfb32919088e3638dca01068df3c4507433","tags":[]}],"exploitRefs":[],"hasPoc":false,"ai":{"summary":"This flaw allows a race condition where a concurrent UNLOCK request can free a ksmbd_lock structure that is still being tracked, leading to a Use-After-Free and Double-Free vulnerability.","exploitability":"Exploitation requires concurrent UNLOCK and LOCK requests on the same connection, making it moderately difficult. The attacker must have the ability to send SMB2_LOCK requests.","blast_radius":"If exploited, this could lead to arbitrary code execution or denial of service, depending on the application's handling of the freed memory.","remediation":"Upgrade to the fixed version 5.10.131 or later.","detection":"No reliable host or network indicator is derivable from the published description.","tags":["lock-race","use-after-free","double-free","smb","kernel"],"model":"qwen2.5:7b-instruct","analyzedAt":"2026-09-29T09:25:59.511Z"}}