PatchSiren

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.