CVE-2026-68369

Summary

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.

Affected Software

VendorProductVersion RangeStatus
LinuxLinuxb185f01a9ab7af586133be2555298e960237359b < 994afccfdcceb73be33f69a8a8ea71e260c9eca5affected
LinuxLinuxb185f01a9ab7af586133be2555298e960237359b < e03597ad9494b500344076589aeaa6c6d2d381d3affected
LinuxLinuxb185f01a9ab7af586133be2555298e960237359b < 4cde0b38cc0cb8b7dc17295801015148de37d1d2affected
LinuxLinuxb185f01a9ab7af586133be2555298e960237359b < e41bbbbb1740ce4d7270ab1cdeca13892d6a8d2eaffected
LinuxLinuxb185f01a9ab7af586133be2555298e960237359b < c2e819be6a5c7f34344926b4bd7e3dfca58cf48aaffected
LinuxLinux4.1affected
LinuxLinux0 < 4.1unaffected
LinuxLinux6.6.148 <= 6.6.*unaffected
LinuxLinux6.12.101 <= 6.12.*unaffected
LinuxLinux6.18.42 <= 6.18.*unaffected
LinuxLinux7.1.6 <= 7.1.*unaffected
LinuxLinux7.2-rc5 <= *unaffected

Weaknesses

References