Description
In the Linux kernel, the following vulnerability has been resolved: ksmbd: fix use-after-free in same_client_has_lease() same_client_has_lease() returns an opinfo pointer from ci->m_op_list after dropping ci->m_lock without taking a reference. smb_grant_oplock() then dereferences that pointer in copy_lease() and when checking breaking_cnt. A concurrent close can remove the old lease from ci->m_op_list and drop the last reference before the caller uses the returned pointer, leading to a use-after-free. Take a reference when same_client_has_lease() selects an existing lease, drop any previous match while scanning, and release the returned reference in smb_grant_oplock() after copying the lease state.
Affected products
Version statuses are supplied by the assigning organization. Consult the original record for detailed ranges and platform conditions.
Linux Linux
Default version status: unaffected
e2f34481b24db2fd634b5edb0a5bd0e4d38cc6e9 to < aaa3bb2bbf2ccbfea9e4e0b9dabf3afc60b50cd0affectede2f34481b24db2fd634b5edb0a5bd0e4d38cc6e9 to < 09634cd055d9bd8dd167995ea52bcd8028dd5dacaffectede2f34481b24db2fd634b5edb0a5bd0e4d38cc6e9 to < 7c3264d273d524aa6adcce23c01087271f13586faffectede2f34481b24db2fd634b5edb0a5bd0e4d38cc6e9 to < 79c7c59bb519db6f5a2a151965e825ec725614ccaffectede2f34481b24db2fd634b5edb0a5bd0e4d38cc6e9 to < 35d3d6ff2bc1e7aaecb15d5377ebbd6227acae0daffectede2f34481b24db2fd634b5edb0a5bd0e4d38cc6e9 to < 0ff82a9cf9312678d8bc4edeef0b6e82659ac12aaffectede2f34481b24db2fd634b5edb0a5bd0e4d38cc6e9 to < 65b655f65c3ca1ab5d598d3832bb0ff531725858affected
Linux Linux
Default version status: affected
5.15affected0 to < 5.15unaffected5.15.212 to ≤ 5.15.*unaffected6.1.178 to ≤ 6.1.*unaffected6.6.145 to ≤ 6.6.*unaffected6.12.97 to ≤ 6.12.*unaffected6.18.40 to ≤ 6.18.*unaffected7.1.5 to ≤ 7.1.*unaffected7.2 to ≤ *unaffected
References
- https://git.kernel.org/stable/c/aaa3bb2bbf2ccbfea9e4e0b9dabf3afc60b50cd0 ↗
- https://git.kernel.org/stable/c/09634cd055d9bd8dd167995ea52bcd8028dd5dac ↗
- https://git.kernel.org/stable/c/7c3264d273d524aa6adcce23c01087271f13586f ↗
- https://git.kernel.org/stable/c/79c7c59bb519db6f5a2a151965e825ec725614cc ↗
- https://git.kernel.org/stable/c/35d3d6ff2bc1e7aaecb15d5377ebbd6227acae0d ↗
- https://git.kernel.org/stable/c/0ff82a9cf9312678d8bc4edeef0b6e82659ac12a ↗
- https://git.kernel.org/stable/c/65b655f65c3ca1ab5d598d3832bb0ff531725858 ↗