Description
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.
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
df3a4518aee64f21bcafa891105b468413f27431 to < 22f1aa35b87e471cc31b35b74451f46630863b12affected543c12c2644e772caa6880662c2a852cfdc5a10c to < 928dda88d0e13fbca381255028f65b244343a4eaaffected368ba06881c395f1c9a7ba22203cf8d78b4addc0 to < d8e5c5672724b8f3c4c099d2cf60239c996e5424affected368ba06881c395f1c9a7ba22203cf8d78b4addc0 to < 32e486b70c256d5ef4baa5a2936ade2fea50e8ebaffected368ba06881c395f1c9a7ba22203cf8d78b4addc0 to < d9e9753dfd43bd27c956578df7804a3c90b80fdcaffected368ba06881c395f1c9a7ba22203cf8d78b4addc0 to < b62c510f59803f82f9b4c76ead2a56833b2984c7affected368ba06881c395f1c9a7ba22203cf8d78b4addc0 to < cfc0b8e5080aec87700774e8568765eaa4b7b92baffectede9cb7be2fcbaee9e808b729e92948d38d52e5addaffected5.15.145 to < 5.15.217affected6.1.34 to < 6.1.184affected6.3.8 to < 6.4affected
Linux Linux
Default version status: affected
6.4affected0 to < 6.4unaffected5.15.217 to ≤ 5.15.*unaffected6.1.184 to ≤ 6.1.*unaffected6.6.153 to ≤ 6.6.*unaffected6.12.105 to ≤ 6.12.*unaffected6.18.46 to ≤ 6.18.*unaffected7.1.6 to ≤ 7.1.*unaffected7.2 to ≤ *unaffected
References
- https://git.kernel.org/stable/c/22f1aa35b87e471cc31b35b74451f46630863b12 ↗
- https://git.kernel.org/stable/c/928dda88d0e13fbca381255028f65b244343a4ea ↗
- https://git.kernel.org/stable/c/d8e5c5672724b8f3c4c099d2cf60239c996e5424 ↗
- https://git.kernel.org/stable/c/32e486b70c256d5ef4baa5a2936ade2fea50e8eb ↗
- https://git.kernel.org/stable/c/d9e9753dfd43bd27c956578df7804a3c90b80fdc ↗
- https://git.kernel.org/stable/c/b62c510f59803f82f9b4c76ead2a56833b2984c7 ↗
- https://git.kernel.org/stable/c/cfc0b8e5080aec87700774e8568765eaa4b7b92b ↗