ksmbd: validate minimum PDU size for transform requests
- 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
- Fix
- Fixed in 5.15.217, 6.1.184, 6.4
- 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: validate minimum PDU size for transform requests The receive path applies the minimum SMB2 PDU size check only when ProtocolId is SMB2_PROTO_NUMBER. A packet carrying SMB2_TRANSFORM_PROTO_NUM bypasses the check even when the negotiated dialect does not provide transform handling. On an SMB 2.1 connection, a short transform packet therefore reaches init_smb2_rsp_hdr(), which interprets the request as a full SMB2 header and reads beyond the request allocation. The copied fields can then be returned to the unauthenticated client. Compression transforms are converted to ordinary SMB2 messages before protocol validation. After that conversion, validate ordinary SMB2 requests against SMB2_MIN_SUPPORTED_PDU_SIZE and require encryption transform requests to contain both a transform header and an SMB2 header. This rejects truncated requests before work allocation.
Timeline
- CVE published
- Record last updated
Affected versions
- Linux Linux
From 5.15.145 · fixed in 5.15.217; From 6.1.34 · fixed in 6.1.184; From 6.3.8 · fixed in 6.4
- Linux Linux
6.4
References 7
git.kernel.org
- stable/c/22f1aa35b87e471cc31b35b74451f46630863b12
- stable/c/928dda88d0e13fbca381255028f65b244343a4ea
- stable/c/d8e5c5672724b8f3c4c099d2cf60239c996e5424
- stable/c/32e486b70c256d5ef4baa5a2936ade2fea50e8eb
- stable/c/d9e9753dfd43bd27c956578df7804a3c90b80fdc
- stable/c/b62c510f59803f82f9b4c76ead2a56833b2984c7
- stable/c/cfc0b8e5080aec87700774e8568765eaa4b7b92b