HIGH
ksmbd Transform OOB
CVE-2026-68431
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N
01Description
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.
02KernelScan AI Analysis
Risk summary
ksmbd SMB server fails to validate minimum PDU size for transform requests, allowing an unauthenticated network attacker to send a truncated transform packet that causes the server to read beyond the request allocation and return leaked kernel memory to the client.
Vulnerability analysis
The ksmbd receive path only enforces a minimum PDU size for ordinary SMB2 packets, not for transform (encryption) packets. An unauthenticated client can send a short transform packet on an SMB 2.1 connection; the server then treats the undersized buffer as a full SMB2 header and reads fields beyond the allocation, which can be echoed back to the attacker. The fix adds a minimum size check for transform packets requiring both a transform header and an SMB2 header, rejecting truncated requests before any work allocation. The vulnerable path is reachable by any unauthenticated network client that can establish an SMB connection to the ksmbd service.
03Fix Versions
| Branch | Introduced | Fixed in | Patch commit |
|---|---|---|---|
| 5.15 | 5.15.145 | 5.16 | b62c510f5980 |
| 6.1 | 6.1.34 | 6.2 | cfc0b8e5080a |
| 6.3 | 6.3.8 | 6.4 | — |
| 7.1 | — | 7.1.6 | — |
| mainline | — | 7.2-rc5 | — |