Bug 2300484 (CVE-2024-41088) - CVE-2024-41088 kernel: can: mcp251xfd: fix infinite loop when xmit fails
Summary: CVE-2024-41088 kernel: can: mcp251xfd: fix infinite loop when xmit fails
Keywords:
Status: NEW
Alias: CVE-2024-41088
Product: Security Response
Classification: Other
Component: vulnerability
Version: unspecified
Hardware: All
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Product Security DevOps Team
QA Contact:
URL:
Whiteboard:
Depends On: 2301677
Blocks:
TreeView+ depends on / blocked
 
Reported: 2024-07-29 16:21 UTC by OSIDB Bzimport
Modified: 2024-09-18 16:32 UTC (History)
4 users (show)

Fixed In Version: kernel 6.1.97, kernel 6.6.37, kernel 6.9.8, kernel 6.10
Clone Of:
Environment:
Last Closed:
Embargoed:


Attachments (Terms of Use)

Description OSIDB Bzimport 2024-07-29 16:21:37 UTC
In the Linux kernel, the following vulnerability has been resolved:

can: mcp251xfd: fix infinite loop when xmit fails

When the mcp251xfd_start_xmit() function fails, the driver stops
processing messages, and the interrupt routine does not return,
running indefinitely even after killing the running application.

Error messages:
[  441.298819] mcp251xfd spi2.0 can0: ERROR in mcp251xfd_start_xmit: -16
[  441.306498] mcp251xfd spi2.0 can0: Transmit Event FIFO buffer not empty. (seq=0x000017c7, tef_tail=0x000017cf, tef_head=0x000017d0, tx_head=0x000017d3).
... and repeat forever.

The issue can be triggered when multiple devices share the same SPI
interface. And there is concurrent access to the bus.

The problem occurs because tx_ring->head increments even if
mcp251xfd_start_xmit() fails. Consequently, the driver skips one TX
package while still expecting a response in
mcp251xfd_handle_tefif_one().

Resolve the issue by starting a workqueue to write the tx obj
synchronously if err = -EBUSY. In case of another error, decrement
tx_ring->head, remove skb from the echo stack, and drop the message.

[mkl: use more imperative wording in patch description]

Comment 1 Mauro Matteo Cascella 2024-07-30 15:25:00 UTC
Upstream advisory:
https://lore.kernel.org/linux-cve-announce/2024072952-CVE-2024-41088-281e@gregkh/T

Comment 2 Mauro Matteo Cascella 2024-07-30 15:25:22 UTC
Created kernel tracking bugs for this issue:

Affects: fedora-all [bug 2301677]


Note You need to log in before you can comment on or make changes to this bug.