← All Advisories

Linux Kernel USB Gadget Printer Driver printer_read Uses the Same Variable for Requested Copy Size and Bytes Copied, Looping Indefinitely When copy_to_user Fails to Copy Anything

Last refreshed2026-09-28

Status: NEW  |  Advisory ID: CVE-2026-68369

Key Details

CVECVE-2026-68369

What to Know

In the Linux kernel, the following vulnerability has been resolved:

usb: gadget: printer: fix infinite loop in printer_read()

printer_read() uses the same variable for the requested copy size and

the number of bytes actually copied to user space. copy_to_user()

returns the number of bytes not copied, so when it fails to copy

anything, the computed copied length becomes zero.

In that case len, buf, current_rx_bytes and current_rx_buf are left

unchanged. If RX data is available and the user buffer remains

unwritable, the read loop can repeat indefinitely.

Track the copied length separately and return -EFAULT, or the number of

bytes already copied, if an iteration makes no progress. (NVD)

References

SourceReference
NVDhttps://nvd.nist.gov/vuln/detail/CVE-2026-68369
CVEhttps://www.cve.org/CVERecord?id=CVE-2026-68369