PatchSiren cyber security CVE debrief
CVE-2026-46151 Linux CVE debrief
A heap information disclosure vulnerability exists in the Linux kernel's USB printer driver (usblp). The driver fails to zero-initialize a 1024-byte kmalloc buffer before requesting IEEE 1284 device ID data from USB printers. A malicious or malfunctioning device can complete the control transfer with only 2 bytes (the length prefix), causing the driver to trust a fabricated length value and subsequently expose up to 1021 bytes of uninitialized kernel heap memory through the ieee1284_id sysfs attribute and the IOCNR_GET_DEVICE_ID ioctl. The vulnerability stems from usblp_ctrl_msg() discarding the actual bytes-transferred count from usb_control_msg(), preventing proper short-transfer detection. The fix zero-fills the buffer before each device ID request, ensuring no stale heap data remains.
- Vendor
- Linux
- Product
- Unknown
- CVSS
- MEDIUM 5.5
- CISA KEV
- Not listed in stored evidence
- Original CVE published
- 2026-05-28
- Original CVE updated
- 2026-06-09
- Advisory published
- 2026-05-28
- Advisory updated
- 2026-06-09
Who should care
Linux system administrators, kernel maintainers, organizations with physical security requirements, embedded device manufacturers using USB printer support
Technical summary
The usblp driver in the Linux kernel contains an information disclosure vulnerability in its IEEE 1284 device ID handling. The device_id_string buffer (1024 bytes, kmalloc'd at probe) is not zeroed before usblp_cache_device_id_string() issues a GET_DEVICE_ID control request. The usblp_ctrl_msg() helper collapses usb_control_msg() return values to 0/-errno, discarding the actual transfer length. A device responding with only 2 bytes (a forged big-endian length prefix, e.g., 0x03 0xFF claiming 1023 bytes) causes the driver to trust this length. The stale heap contents beyond the 2 received bytes are then exposed: via sysfs ieee1284_id (sprintf output truncated at first NUL) and via IOCNR_GET_DEVICE_ID ioctl (copy_to_user of full claimed length, up to 1021 bytes). The fix zero-fills the buffer before each request, ensuring no uninitialized data exposure.
Defensive priority
medium
Recommended defensive actions
- Apply kernel updates containing the referenced stable branch commits when available from your Linux distribution
- Restrict physical access to USB ports to prevent attachment of malicious USB devices
- Consider disabling USB printer support (CONFIG_USB_PRINTER) if not required
- Monitor for unexpected ieee1284_id sysfs attribute reads or IOCNR_GET_DEVICE_ID ioctl calls
- Review system logs for anomalous USB device attachment events
Evidence notes
The vulnerability description is sourced from the official CVE record published 2026-05-28. The fix involves zeroing the device_id_string buffer before each GET_DEVICE_ID request. Multiple stable kernel branch commits are referenced in the source data.
Sources and references
Verified primary and authoritative sources
-
CVE-2026-46151 CVE Program record
Publisher, destination, and source semantics verified
URL: https://www.cve.org/CVERecord?id=CVE-2026-46151
CVE Program - Official CVE Program record with source-provided CVE metadata.
-
CVE-2026-46151 NVD vulnerability detail
Publisher, destination, and source semantics verified
URL: https://nvd.nist.gov/vuln/detail/CVE-2026-46151
NIST National Vulnerability Database - Official NIST NVD detail page and source-specific vulnerability assessment.
Supplemental references
-
Source reference
Unverified legacy reference
URL: https://git.kernel.org/stable/c/522d17e93a85575256894212d10e5a1fa6f36529
416baaa9-dc9f-4396-8d5f-8c081fb06d67
-
Source reference
Unverified legacy reference
URL: https://git.kernel.org/stable/c/6d8142141c942c0d8e79343cffda9c44bb1f3f4f
416baaa9-dc9f-4396-8d5f-8c081fb06d67
-
Source reference
Unverified legacy reference
URL: https://git.kernel.org/stable/c/6e29c32a27218f2dcd4a4e9b0b3c5e7728640698
416baaa9-dc9f-4396-8d5f-8c081fb06d67
-
Source reference
Unverified legacy reference
URL: https://git.kernel.org/stable/c/7a400c6fe3617e31e690e3f7ca37bb335e0498f3
416baaa9-dc9f-4396-8d5f-8c081fb06d67
-
Source reference
Unverified legacy reference
URL: https://git.kernel.org/stable/c/8247f52d822180e94ccbfdab91613af386a4e34d
416baaa9-dc9f-4396-8d5f-8c081fb06d67
Methodology and review provenance
AI-assisted synthesis based on stored public vulnerability evidence. System validation, approval state, and publication status do not by themselves establish human review of this revision. PatchSiren helps prioritize defensive review and does not prove exposure or remediation on any system.