CVE-2026-46167
Gravedad:
Pendiente de análisis
Tipo:
No Disponible / Otro tipo
Fecha de publicación:
28/05/2026
Última modificación:
28/05/2026
Descripción
*** Pendiente de traducción *** In the Linux kernel, the following vulnerability has been resolved:<br />
<br />
usb: usblp: fix uninitialized heap leak via LPGETSTATUS ioctl<br />
<br />
Just like in a previous problem in this driver, usblp_ctrl_msg() will<br />
collapse the usb_control_msg() return value to 0/-errno, discarding the<br />
actual number of bytes transferred.<br />
<br />
Ideally that short command should be detected and error out, but many<br />
printers are known to send "incorrect" responses back so we can&#39;t just<br />
do that.<br />
<br />
statusbuf is kmalloc(8) at probe time and never filled before the first<br />
LPGETSTATUS ioctl.<br />
<br />
usblp_read_status() requests 1 byte. If a malicious printer responds<br />
with zero bytes, *statusbuf is one byte of stale kmalloc heap,<br />
sign-extended into the local int status, which the LPGETSTATUS path then<br />
copy_to_user()s directly to the ioctl caller.<br />
<br />
Fix this all by just zapping out the memory buffer when allocated at<br />
probe time. If a later call does a short read, the data will be<br />
identical to what the device sent it the last time, so there is no<br />
"leak" of information happening.
Impacto
Referencias a soluciones, herramientas e información
- https://git.kernel.org/stable/c/6b0e7438e31c74b01514d31ff35c1e688c4baaba
- https://git.kernel.org/stable/c/762a6ccf391db0d629e590a803a3a2231e17dd3f
- https://git.kernel.org/stable/c/a502b997668401a6821501fc98b7f9220f9b6ff2
- https://git.kernel.org/stable/c/b38e53cbfb9d84732e5984fbd73e128d592415c5
- https://git.kernel.org/stable/c/d06d937b0a4cdb8867f04275c8100a8b943da31a



