ksmbd: do not expire session on binding failure
- Published
- Last modified
- Where the record stands: published, rejected by its publisher, or superseded by another id.What do these mean? →
- published
- Whether CISA lists it in its Known Exploited Vulnerabilities catalog: proof that attackers are using it.What do these mean? →
- Not listed in CISA KEV
- Whether working attack code is public (Exploit-DB, Metasploit, Nuclei or GitHub). Public code makes attacks easier.What do these mean? →
- None on Exploit-DB, Metasploit or GitHub
Summary
In the Linux kernel, the following vulnerability has been resolved: ksmbd: do not expire session on binding failure When a multichannel session binding request fails (e.g. wrong password), the error path unconditionally sets sess->state = SMB2_SESSION_EXPIRED. However, during binding, sess points to the target session looked up via ksmbd_session_lookup_slowpath() -- which belongs to another connection's user. This allows a remote attacker to invalidate any active session by simply sending a binding request with a wrong password (DoS). Fix this by skipping session expiration when the failed request was a binding attempt, since the session does not belong to the current connection. The reference taken by ksmbd_session_lookup_slowpath() is still correctly released via ksmbd_user_session_put().
Timeline
- CVE published
- Record last updated
Affected versions
- Linux Linux
Version range not reported
- Linux Linux
5.15
References 7
git.kernel.org
- stable/c/4642ea35c03cf3d3558c009df4757cdb7af3f82d
- stable/c/f5300690c23c5ac860499bb37dbc09cf43fd62e6
- stable/c/6fafc4c4238e538969f1375f9ecdc6587c53f1cc
- stable/c/1d1888b4a7aec518b707f6eca0bf08992c0e8da3
- stable/c/a897064a457056acb976e20e3007cdf553de340f
- stable/c/e0e5edc81b241c70355217de7e120c97c3429deb
- stable/c/9bbb19d21ded7d78645506f20d8c44895e3d0fb9