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

Published Sep 11, 2026
·
Updated

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

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

reparsebufptr() reads buf->ReparseDataLength before checking that count covers the full fixed header:

buf = (struct reparsedatabuffer )((u8 )io + off); len = sizeof(buf); / 8 bytes / rdlen = le16tocpu(buf->ReparseDataLength); / offset 4, 2 bytes /

if (count < len || count < rdlen + len) / check comes after /

struct reparsedatabuffer 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 iovlen 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 Software

1 affected component
Linux Linux kernel

Event History

Sep 11, 2026
CVE Published
via MITRE·07:45 PM
Data Sourced
via MITRE·07:45 PM
Description

Frequently Asked Questions

1

Who can trigger this issue?

A server supplying SMB responses can trigger it by returning a reparse-data response whose OutputCount is smaller than 6. This makes SMB clients that process that response the exposed side.

2

What must an attacker control or send to exploit the flaw?

The attacker needs to cause the SMB client to process a response containing a reparse data buffer with an insufficient OutputCount. The vulnerable code reads ReparseDataLength at offsets 4-5 before confirming that the received count includes the complete fixed header.

3

How can I tell whether a system has the fix?

The fix changes reparse_buf_ptr() so it verifies count is at least sizeof(struct reparse_data_buffer) before reading ReparseDataLength, and only then verifies that count covers the data region. The provided stable kernel references identify commits containing this correction.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203