Skip to content
CVE PROGRAM SOURCE RECORDUnscored

CVE-2025-68308

can: kvaser_usb: leaf: Fix potential infinite loop in command parsers

Description

In the Linux kernel, the following vulnerability has been resolved: can: kvaser_usb: leaf: Fix potential infinite loop in command parsers The `kvaser_usb_leaf_wait_cmd()` and `kvaser_usb_leaf_read_bulk_callback` functions contain logic to zero-length commands. These commands are used to align data to the USB endpoint's wMaxPacketSize boundary. The driver attempts to skip these placeholders by aligning the buffer position `pos` to the next packet boundary using `round_up()` function. However, if zero-length command is found exactly on a packet boundary (i.e., `pos` is a multiple of wMaxPacketSize, including 0), `round_up` function will return the unchanged value of `pos`. This prevents `pos` to be increased, causing an infinite loop in the parsing logic. This patch fixes this in the function by using `pos + 1` instead. This ensures that even if `pos` is on a boundary, the calculation is based on `pos + 1`, forcing `round_up()` to always return the next aligned boundary.

Affected products

Version statuses are supplied by the assigning organization. Consult the original record for detailed ranges and platform conditions.

Linux Linux

Default version status: unaffected

  • 7259124eac7d1b76b41c7a9cb2511a30556deebe to < 58343e0a4d43699f0e2f5b169384bbe4c0217addaffected
  • 7259124eac7d1b76b41c7a9cb2511a30556deebe to < 69c7825df64e24dc15d31631a1fc9145324b1345affected
  • 7259124eac7d1b76b41c7a9cb2511a30556deebe to < 028e89c7e8b4346302e88df01cc50e0a1f05791aaffected
  • 7259124eac7d1b76b41c7a9cb2511a30556deebe to < e9dd83a75a7274edef21682c823bf0b66d7b6b7faffected
  • 7259124eac7d1b76b41c7a9cb2511a30556deebe to < 0897cea266e39166a36111059ba147192b36592faffected
  • 7259124eac7d1b76b41c7a9cb2511a30556deebe to < bd8135a560cf6e64f0b98ed4daadf126a38f7f48affected
  • 7259124eac7d1b76b41c7a9cb2511a30556deebe to < 0c73772cd2b8cc108d5f5334de89ad648d89b9ecaffected

Linux Linux

Default version status: affected

  • 4.19affected
  • 0 to < 4.19unaffected
  • 5.10.247 to ≤ 5.10.*unaffected
  • 5.15.197 to ≤ 5.15.*unaffected
  • 6.1.159 to ≤ 6.1.*unaffected
  • 6.6.119 to ≤ 6.6.*unaffected
  • 6.12.61 to ≤ 6.12.*unaffected
  • 6.17.11 to ≤ 6.17.*unaffected
  • 6.18 to ≤ *unaffected

References