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.
Product status
f5778c398713692a16150ae96e5c8270bab8399f (git) before a34d456934fe42e4da5d2cc07787bf418bee99c6
f5778c398713692a16150ae96e5c8270bab8399f (git) before ac2f14e4705d020f04e806efa0d49ab8dc2b145f
f5778c398713692a16150ae96e5c8270bab8399f (git) before 078fae8f50adebb903ccf2252b44391324571e78
f5778c398713692a16150ae96e5c8270bab8399f (git) before 85fd46ee26a11841c670449508025965f61ce131
f5778c398713692a16150ae96e5c8270bab8399f (git) before a58c5af19ff0d6f44f6e9fe31e33a2c92223f77e
5.1
Any version before 5.1
6.6.136 (semver)
6.12.84 (semver)
6.18.25 (semver)
7.0.2 (semver)
7.1-rc1 (original_commit_for_fix)
References
git.kernel.org/...c/a34d456934fe42e4da5d2cc07787bf418bee99c6
git.kernel.org/...c/ac2f14e4705d020f04e806efa0d49ab8dc2b145f
git.kernel.org/...c/078fae8f50adebb903ccf2252b44391324571e78
git.kernel.org/...c/85fd46ee26a11841c670449508025965f61ce131
git.kernel.org/...c/a58c5af19ff0d6f44f6e9fe31e33a2c92223f77e