CVE-2026-68431

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.

Affected Software

VendorProductVersion RangeStatus
LinuxLinuxdf3a4518aee64f21bcafa891105b468413f27431 < 22f1aa35b87e471cc31b35b74451f46630863b12affected
LinuxLinux543c12c2644e772caa6880662c2a852cfdc5a10c < 928dda88d0e13fbca381255028f65b244343a4eaaffected
LinuxLinux368ba06881c395f1c9a7ba22203cf8d78b4addc0 < d8e5c5672724b8f3c4c099d2cf60239c996e5424affected
LinuxLinux368ba06881c395f1c9a7ba22203cf8d78b4addc0 < 32e486b70c256d5ef4baa5a2936ade2fea50e8ebaffected
LinuxLinux368ba06881c395f1c9a7ba22203cf8d78b4addc0 < d9e9753dfd43bd27c956578df7804a3c90b80fdcaffected
LinuxLinux368ba06881c395f1c9a7ba22203cf8d78b4addc0 < b62c510f59803f82f9b4c76ead2a56833b2984c7affected
LinuxLinux368ba06881c395f1c9a7ba22203cf8d78b4addc0 < cfc0b8e5080aec87700774e8568765eaa4b7b92baffected
LinuxLinuxe9cb7be2fcbaee9e808b729e92948d38d52e5addaffected
LinuxLinux5.15.145 < 5.15.217affected
LinuxLinux6.1.34 < 6.1.184affected
LinuxLinux6.3.8 < 6.4affected
LinuxLinux6.4affected
LinuxLinux0 < 6.4unaffected
LinuxLinux5.15.217 <= 5.15.*unaffected
LinuxLinux6.1.184 <= 6.1.*unaffected
LinuxLinux6.6.153 <= 6.6.*unaffected
LinuxLinux6.12.105 <= 6.12.*unaffected
LinuxLinux6.18.46 <= 6.18.*unaffected
LinuxLinux7.1.6 <= 7.1.*unaffected
LinuxLinux7.2 <= *unaffected

Weaknesses

References