CVE Catalog

CVE-2026-89632

Unknown
Published: Translated: NVD NIST

Summary

In the Linux kernel SMB client, reparse_buf_ptr() reads the ReparseDataLength field before verifying that the received data covers the full fixed header. If a server returns OutputCount < 6, the read at offset 4-5 reaches past the end of the received data.

Risk Assessment

Possible out-of-bounds read of the received buffer while processing an SMB server response, which may lead to data disclosure or kernel instability.

Recommendation

Update the Linux kernel to a version containing the fix that first verifies count >= sizeof(*buf) and then verifies the data region is covered.

Other vulnerabilities in Linux kernel (SMB client)

See all
Original NVD description (English source)

In the Linux kernel, the following vulnerability has been resolved: smb: client: fix use-before-check of ReparseDataLength in reparse_buf_ptr() reparse_buf_ptr() reads buf->ReparseDataLength before checking that count covers the full fixed header: buf = (struct reparse_data_buffer *)((u8 *)io + off); len = sizeof(*buf); /* 8 bytes */ rdlen = le16_to_cpu(buf->ReparseDataLength); /* offset 4, 2 bytes */ if (count < len || count < rdlen + len) /* check comes after */ struct reparse_data_buffer has ReparseDataLength at offset 4. If a server returns OutputCount < 6, the read at offset 4-5 reaches past the end of the received data. The off+count bounds against iov_len were already validated, but that does not protect against count being smaller than sizeof(*buf). Split the check: verify count >= sizeof(*buf) before reading ReparseDataLength, then verify count covers the data region.

Vulnerability data from NVD (NIST) · CISA KEV · EPSS