What’s Vulnerable › Vulnerabilities
CVE-2026-89632: smb: client: fix use-before-check of ReparseDataLength in reparse_buf_ptr()
- Severity: high (CVSS 8.2 v3.1)
- Exploited in the wild: not listed in CISA KEV
- EPSS: 0.6% probability of exploitation in the next 30 days
- Public exploit or detection template: none known
- Published: 2026-09-11 · updated 2026-10-21
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.
Affected products
- Linux kernel: from 6.6.32 before 6.6.160; 6.8 — fixed in 6.6.160, 7.3
How to fix
Upgrade to a fixed version: Linux kernel 6.6.160, 7.3. Check the vendor advisory for mitigations.
References
- https://git.kernel.org/stable/c/05f78e6cf34ea3a285053bd5999e08e8ac298bd5
- https://git.kernel.org/stable/c/711cf71300d7992f450600df8864917d3538679f
- https://git.kernel.org/stable/c/b70bc592afd19732e2e4563300ebe8f974280365
Get alerted when CVE-2026-89632 or the next vulnerability affects your stack