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
-
CVE-2026-46167 CVE record
CVE.org
-
CVE-2026-46167 NVD detail
NVD
-
Source item URL
nvd_modified
-
Source reference
416baaa9-dc9f-4396-8d5f-8c081fb06d67
-
Source reference
416baaa9-dc9f-4396-8d5f-8c081fb06d67
-
Source reference
416baaa9-dc9f-4396-8d5f-8c081fb06d67
-
Source reference
416baaa9-dc9f-4396-8d5f-8c081fb06d67
-
Source reference
416baaa9-dc9f-4396-8d5f-8c081fb06d67
2026-05-28