CVE-2026-89632

smb: client: fix use-before-check of ReparseDataLength in reparse_buf_ptr()

State
Published
Severity
8.2 High
Published
Sep 11, 2026
Updated
Oct 21, 2026
Reserved
Sep 11, 2026

Read the record on cve.org

Description

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.

Scores

CVSSScoreVectorSource
3.18.2 HighCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:HLinux

Weaknesses

The record names no weakness.

Affected Products

ProductVersions
LinuxLinux
  • a158bb66b1373866d9fd5997565a58a573085539 to before b70bc592afd19732e2e4563300ebe8f974280365Affected
  • 67ec9949b0dfe78c99e110dd975eb7dc5645630c to before 711cf71300d7992f450600df8864917d3538679fAffected
  • 67ec9949b0dfe78c99e110dd975eb7dc5645630c to before 05f78e6cf34ea3a285053bd5999e08e8ac298bd5Affected
  • 6.6.32 to before 6.6.160Affected
LinuxLinux
  • 6.8Affected
  • before 6.8Not affected
  • 6.6.160 through 6.6.*Not affected
  • 7.2.4 through 7.2.*Not affected
  • 7.3 and laterNot affected

References

Every record here comes from the CVE Program’s CVE List. © 1999–2026 The MITRE Corporation. CVE is a registered trademark of The MITRE Corporation. The records are reproduced under the CVE Program terms of use.