PatchSiren

PatchSiren cyber security CVE debrief

CVE-2026-46167 Linux CVE debrief

A vulnerability in the Linux kernel's USB printer driver (usblp) allows information disclosure via an uninitialized heap memory leak. The statusbuf buffer, allocated via kmalloc(8) at probe time, is never initialized before the first LPGETSTATUS ioctl. When usblp_read_status() requests 1 byte and a malicious or misbehaving USB printer responds with zero bytes, the driver returns one byte of stale heap memory to the ioctl caller. This stale data is sign-extended into an int and copied to userspace via copy_to_user(). The vulnerability exists because usblp_ctrl_msg() collapses the usb_control_msg() return value to 0/-errno, discarding the actual bytes transferred, preventing proper short-read detection. The fix initializes the buffer at allocation time to prevent information leakage.

Vendor
Linux
Product
Unknown
CVSS
Unknown
CISA KEV
Not listed in stored evidence
Original CVE published
2026-05-28
Original CVE updated
2026-05-28
Advisory published
2026-05-28
Advisory updated
2026-05-28

Who should care

Linux system administrators, kernel maintainers, organizations with physical security concerns regarding USB device attachment, embedded systems using USB printers, security teams tracking kernel information disclosure vulnerabilities

Technical summary

The usblp driver in the Linux kernel contains an information disclosure vulnerability in the LPGETSTATUS ioctl handler. The statusbuf buffer (8 bytes, kmalloc'd at probe) is not initialized before first use. When usblp_read_status() performs a USB control message requesting 1 byte, and the device returns 0 bytes (short read), the driver fails to detect this condition because usblp_ctrl_msg() discards the actual transfer count. The uninitialized first byte of statusbuf is then sign-extended and returned to userspace. The fix zero-initializes statusbuf at allocation, ensuring no heap memory leakage occurs on short reads.

Defensive priority

medium

Recommended defensive actions

  • Apply kernel patches from stable branches when available for your distribution
  • Verify usblp driver is not loaded if USB printer support is not required
  • Monitor for distribution security advisories for kernel updates
  • Review systems with physical USB access for potential malicious device attachment

Evidence notes

Vulnerability description confirms kmalloc(8) allocation without initialization at probe time. The LPGETSTATUS ioctl path copies statusbuf content to userspace. Malicious printer with zero-byte response triggers leak of uninitialized heap memory. Fix commit initializes buffer at allocation. Multiple stable kernel branch commits provided indicate backporting to supported releases.

Official resources

2026-05-28