CVE-2026-31708

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.
Configurations

Configuration 1 (hide)

OR cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*

History

11 Nov 2026, 21:10

Type Values Removed Values Added
Summary
  • (es) En el kernel de Linux, la siguiente vulnerabilidad ha sido resuelta: smb: cliente: corregir lectura fuera de límites en la ruta QUERY_INFO de smb2_ioctl_query_info smb2_ioctl_query_info() tiene dos ramas de copia de respuesta: PASSTHRU_FSCTL y la ruta QUERY_INFO predeterminada. La rama QUERY_INFO limita qi.input_buffer_length a la OutputBufferLength reportada por el servidor y luego copia qi.input_buffer_length bytes de qi_rsp -> Buffer al espacio de usuario, pero nunca verifica que la carga útil del array flexible realmente quepa dentro de rsp_iov[1].iov_len. Un servidor malicioso puede devolver una OutputBufferLength mayor que la respuesta QUERY_INFO real, haciendo que copy_to_user() se desplace más allá del búfer de respuesta y exponga el heap adyacente del kernel al espacio de usuario. Proteger la copia QUERY_INFO con una comprobación de límites en la carga útil real del Buffer. Usar struct_size(qi_rsp, Buffer, qi.input_buffer_length) en lugar de una adición codificada abiertamente para que la protección no pueda desbordarse en compilaciones de 32 bits.

15 Oct 2026, 02:19

Type Values Removed Values Added
References
  • () https://cert-portal.siemens.com/productcert/html/ssa-784472.html -

Information

Published : 2026-05-01 14:16

Updated : 2026-11-11 21:10


NVD link : CVE-2026-31708

Mitre link : CVE-2026-31708

CVE.ORG link : CVE-2026-31708


JSON object : View

Products Affected

linux

  • linux_kernel
CWE
CWE-125

Out-of-bounds Read