All vulnerabilities
CVE-2026-99113

Linux: ksmbd: zero the FS_OBJECT_ID_INFORMATION buffer before filling it in

Linux LinuxOperating systems
CVSS
NoneNot scored
ExploitationNo known exploitationNot in CISA KEV, which does not prove it is unexploitedCISA KEV
Exploit odds (EPSS)No scoreNo FIRST EPSS score in this snapshot yet
Fixed in898cb4f2e12a5ddea1b2d821cc642c3100f46da7Also 015fffa48e96ca8d73a627445341ccff86b02251, 399aa12450a61a5c73dc77e73f069ece9687c95dCVE List
Published28 Oct 2026Updated 28 Oct 2026CVE List

What fixes it

  • 898cb4f2e12a5ddea1b2d821cc642c3100f46da7LinuxCVE List
  • 015fffa48e96ca8d73a627445341ccff86b02251LinuxCVE List
  • 399aa12450a61a5c73dc77e73f069ece9687c95dLinuxCVE List

A fixed version on one release line is not the upgrade target for every line. Check your exact version and any vendor backports.

Description

In the Linux kernel, the following vulnerability has been resolved:

ksmbd: zero the FS_OBJECT_ID_INFORMATION buffer before filling it in

smb2_get_info_filesystem() reports 64 bytes for FS_OBJECT_ID_INFORMATION, that is the whole of struct object_id_info, but writes only 46 of them:

  • objid[] is 16 bytes, and when the volume UUID is not available only

sizeof(stfs.f_fsid) (8) bytes are copied into it;

  • extended_info.version_string[] is STRING_LENGTH (28) bytes, and only

strlen("1.1.0") (5) bytes are copied into it.

The response buffer is zeroed on allocation (kvzalloc() in smb2_allocate_rsp_buf()), 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, smb2_set_err_rsp() 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 *)rsp_hdr, 0, sizeof(struct smb2_hdr) + 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 version_string is now NUL terminated.

Text from CVE List

Affected versions 8

  • Linuxaffected: e2f34481b24db2fd634b5edb0a5bd0e4d38cc6e9 before 898cb4f2e12a5ddea1b2d821cc642c3100f46da7CVE List
  • Linuxaffected: e2f34481b24db2fd634b5edb0a5bd0e4d38cc6e9 before 015fffa48e96ca8d73a627445341ccff86b02251CVE List
  • Linuxaffected: e2f34481b24db2fd634b5edb0a5bd0e4d38cc6e9 before 399aa12450a61a5c73dc77e73f069ece9687c95dCVE List
  • Linuxaffected: 5.15CVE List
  • Linuxunaffected: all versions before 5.15CVE List
  • Linuxunaffected: 6.18.59 through 6.18.*CVE List
  • Linuxunaffected: 7.2.13 through 7.2.*CVE List
  • Linuxunaffected: 7.3CVE List

References 3