DEBIAN-CVE-2026-99113: Debian/linux vulnerability
In the Linux kernel, the following vulnerability has been resolved: ksmbd: zero the FSOBJECTIDINFORMATION buffer before filling it in smb2getinfofilesystem() reports 64 bytes for FSOBJECTIDINFORMATION, that is the whole of struct objectidinfo, but writes only 46 of them: - objid[] is 16 bytes, and when the volume UUID is not available only sizeof(stfs.ffsid) (8) bytes are copied into it; - extendedinfo.versionstring[] is STRINGLENGTH (28) bytes, and only strlen("1.1.0") (5) bytes are copied into it. The response buffer is zeroed on allocation (kvzalloc() in smb2allocaterspbuf()), so for a standalone request the remaining 31 bytes are zero. In a compound request they need not be. The offset of the next response is advanced by the length pinned for the previous one, so if a preceding command wrote its reply into the buffer and then failed, smb2seterrrsp() pins only the short error response and the next reply lands inside the area that has already been written. Only the header is cleared there: memset((char )rsphdr, 0, sizeof(struct smb2hdr) + 2); The client then receives up to 31 bytes of a response it was not meant to see, including one that failed with an access denied error. Clear the structure before filling it in. As a side effect versionstring is now NUL terminated.
Affected Software
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Compensating control
In ksmbd smb2_get_info_filesystem(), zero the entire FS_OBJECT_ID_INFORMATION structure buffer before filling it in, not just the SMB2 response header.