{"id":"CVE-2024-41088","state":"PUBLISHED","title":"can: mcp251xfd: fix infinite loop when xmit fails","description":"In the Linux kernel, the following vulnerability has been resolved:\n\ncan: mcp251xfd: fix infinite loop when xmit fails\n\nWhen the mcp251xfd_start_xmit() function fails, the driver stops\nprocessing messages, and the interrupt routine does not return,\nrunning indefinitely even after killing the running application.\n\nError messages:\n[  441.298819] mcp251xfd spi2.0 can0: ERROR in mcp251xfd_start_xmit: -16\n[  441.306498] mcp251xfd spi2.0 can0: Transmit Event FIFO buffer not empty. (seq=0x000017c7, tef_tail=0x000017cf, tef_head=0x000017d0, tx_head=0x000017d3).\n... and repeat forever.\n\nThe issue can be triggered when multiple devices share the same SPI\ninterface. And there is concurrent access to the bus.\n\nThe problem occurs because tx_ring->head increments even if\nmcp251xfd_start_xmit() fails. Consequently, the driver skips one TX\npackage while still expecting a response in\nmcp251xfd_handle_tefif_one().\n\nResolve the issue by starting a workqueue to write the tx obj\nsynchronously if err = -EBUSY. In case of another error, decrement\ntx_ring->head, remove skb from the echo stack, and drop the message.\n\n[mkl: use more imperative wording in patch description]","publishedAt":"2024-07-29T15:48:04.035Z","updatedAt":"2026-05-11T20:25:57.864Z","severity":null,"assigner":"Linux","products":["Linux Linux"],"affected":[{"vendor":"Linux","product":"Linux","defaultStatus":"unaffected","versions":[{"version":"55e5b97f003e85e66babb55f357627d52081a264","status":"affected","lessThan":"f926c022ebaabf7963bebf89a97201d66978a025","versionType":"git"},{"version":"55e5b97f003e85e66babb55f357627d52081a264","status":"affected","lessThan":"3e72558c1711d524e3150103739ddd06650e291b","versionType":"git"},{"version":"55e5b97f003e85e66babb55f357627d52081a264","status":"affected","lessThan":"6c6b4afa59c2fb4d1759235f866d8caed2aa4729","versionType":"git"},{"version":"55e5b97f003e85e66babb55f357627d52081a264","status":"affected","lessThan":"d8fb63e46c884c898a38f061c2330f7729e75510","versionType":"git"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["drivers/net/can/spi/mcp251xfd/mcp251xfd-core.c","drivers/net/can/spi/mcp251xfd/mcp251xfd-tx.c","drivers/net/can/spi/mcp251xfd/mcp251xfd.h"]},{"vendor":"Linux","product":"Linux","defaultStatus":"affected","versions":[{"version":"5.10","status":"affected"},{"version":"0","status":"unaffected","lessThan":"5.10","versionType":"semver"},{"version":"6.1.97","status":"unaffected","lessThanOrEqual":"6.1.*","versionType":"semver"},{"version":"6.6.37","status":"unaffected","lessThanOrEqual":"6.6.*","versionType":"semver"},{"version":"6.9.8","status":"unaffected","lessThanOrEqual":"6.9.*","versionType":"semver"},{"version":"6.10","status":"unaffected","lessThanOrEqual":"*","versionType":"original_commit_for_fix"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["drivers/net/can/spi/mcp251xfd/mcp251xfd-core.c","drivers/net/can/spi/mcp251xfd/mcp251xfd-tx.c","drivers/net/can/spi/mcp251xfd/mcp251xfd.h"]}],"references":["https://git.kernel.org/stable/c/f926c022ebaabf7963bebf89a97201d66978a025","https://git.kernel.org/stable/c/3e72558c1711d524e3150103739ddd06650e291b","https://git.kernel.org/stable/c/6c6b4afa59c2fb4d1759235f866d8caed2aa4729","https://git.kernel.org/stable/c/d8fb63e46c884c898a38f061c2330f7729e75510","https://lists.debian.org/debian-lts-announce/2025/01/msg00001.html"],"weaknesses":[],"ingestedAt":"2026-10-29T20:07:39.287Z","source":{"repository":"CVEProject/cvelistV5","path":"cves/2024/41xxx/CVE-2024-41088.json","commit":"556c9d3a8cd17e218bb8e452ba7cd619a384ff47"},"raw":{"dataType":"CVE_RECORD","dataVersion":"5.2","cveMetadata":{"cveId":"CVE-2024-41088","state":"PUBLISHED","datePublished":"2024-07-29T15:48:04.035Z","dateUpdated":"2026-05-11T20:25:57.864Z","assignerShortName":"Linux","assignerOrgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","dateReserved":"2024-07-12T12:17:45.634Z"},"containers":{"cna":{"title":"can: mcp251xfd: fix infinite loop when xmit fails","descriptions":[{"lang":"en","value":"In the Linux kernel, the following vulnerability has been resolved:\n\ncan: mcp251xfd: fix infinite loop when xmit fails\n\nWhen the mcp251xfd_start_xmit() function fails, the driver stops\nprocessing messages, and the interrupt routine does not return,\nrunning indefinitely even after killing the running application.\n\nError messages:\n[  441.298819] mcp251xfd spi2.0 can0: ERROR in mcp251xfd_start_xmit: -16\n[  441.306498] mcp251xfd spi2.0 can0: Transmit Event FIFO buffer not empty. (seq=0x000017c7, tef_tail=0x000017cf, tef_head=0x000017d0, tx_head=0x000017d3).\n... and repeat forever.\n\nThe issue can be triggered when multiple devices share the same SPI\ninterface. And there is concurrent access to the bus.\n\nThe problem occurs because tx_ring->head increments even if\nmcp251xfd_start_xmit() fails. Consequently, the driver skips one TX\npackage while still expecting a response in\nmcp251xfd_handle_tefif_one().\n\nResolve the issue by starting a workqueue to write the tx obj\nsynchronously if err = -EBUSY. In case of another error, decrement\ntx_ring->head, remove skb from the echo stack, and drop the message.\n\n[mkl: use more imperative wording in patch description]"}],"affected":[{"vendor":"Linux","product":"Linux","defaultStatus":"unaffected","versions":[{"version":"55e5b97f003e85e66babb55f357627d52081a264","status":"affected","lessThan":"f926c022ebaabf7963bebf89a97201d66978a025","versionType":"git"},{"version":"55e5b97f003e85e66babb55f357627d52081a264","status":"affected","lessThan":"3e72558c1711d524e3150103739ddd06650e291b","versionType":"git"},{"version":"55e5b97f003e85e66babb55f357627d52081a264","status":"affected","lessThan":"6c6b4afa59c2fb4d1759235f866d8caed2aa4729","versionType":"git"},{"version":"55e5b97f003e85e66babb55f357627d52081a264","status":"affected","lessThan":"d8fb63e46c884c898a38f061c2330f7729e75510","versionType":"git"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["drivers/net/can/spi/mcp251xfd/mcp251xfd-core.c","drivers/net/can/spi/mcp251xfd/mcp251xfd-tx.c","drivers/net/can/spi/mcp251xfd/mcp251xfd.h"]},{"vendor":"Linux","product":"Linux","defaultStatus":"affected","versions":[{"version":"5.10","status":"affected"},{"version":"0","status":"unaffected","lessThan":"5.10","versionType":"semver"},{"version":"6.1.97","status":"unaffected","lessThanOrEqual":"6.1.*","versionType":"semver"},{"version":"6.6.37","status":"unaffected","lessThanOrEqual":"6.6.*","versionType":"semver"},{"version":"6.9.8","status":"unaffected","lessThanOrEqual":"6.9.*","versionType":"semver"},{"version":"6.10","status":"unaffected","lessThanOrEqual":"*","versionType":"original_commit_for_fix"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["drivers/net/can/spi/mcp251xfd/mcp251xfd-core.c","drivers/net/can/spi/mcp251xfd/mcp251xfd-tx.c","drivers/net/can/spi/mcp251xfd/mcp251xfd.h"]}],"references":[{"url":"https://git.kernel.org/stable/c/f926c022ebaabf7963bebf89a97201d66978a025"},{"url":"https://git.kernel.org/stable/c/3e72558c1711d524e3150103739ddd06650e291b"},{"url":"https://git.kernel.org/stable/c/6c6b4afa59c2fb4d1759235f866d8caed2aa4729"},{"url":"https://git.kernel.org/stable/c/d8fb63e46c884c898a38f061c2330f7729e75510"}],"providerMetadata":{"shortName":"Linux","orgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","dateUpdated":"2026-05-11T20:25:57.864Z"},"cpeApplicability":[{"nodes":[{"operator":"OR","negate":false,"cpeMatch":[{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.10","versionEndExcluding":"6.1.97"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.10","versionEndExcluding":"6.6.37"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.10","versionEndExcluding":"6.9.8"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.10","versionEndExcluding":"6.10"}]}]}],"x_generator":{"engine":"bippy-1.2.0"}},"adp":[{"title":"CVE Program Container","references":[{"url":"https://git.kernel.org/stable/c/f926c022ebaabf7963bebf89a97201d66978a025","tags":["x_transferred"]},{"url":"https://git.kernel.org/stable/c/3e72558c1711d524e3150103739ddd06650e291b","tags":["x_transferred"]},{"url":"https://git.kernel.org/stable/c/6c6b4afa59c2fb4d1759235f866d8caed2aa4729","tags":["x_transferred"]},{"url":"https://git.kernel.org/stable/c/d8fb63e46c884c898a38f061c2330f7729e75510","tags":["x_transferred"]},{"url":"https://lists.debian.org/debian-lts-announce/2025/01/msg00001.html"}],"providerMetadata":{"shortName":"CVE","orgId":"af854a3a-2127-422b-91ae-364da2661108","dateUpdated":"2025-11-03T22:00:43.442Z"}},{"title":"CISA ADP Vulnrichment","metrics":[{"other":{"type":"ssvc","content":{"id":"CVE-2024-41088","role":"CISA Coordinator","options":[{"Exploitation":"none"},{"Automatable":"no"},{"Technical Impact":"partial"}],"version":"2.0.3","timestamp":"2024-09-10T16:20:41.900253Z"}}}],"providerMetadata":{"shortName":"CISA-ADP","orgId":"134c704f-9b21-4f2e-91b3-4a467353bcc0","dateUpdated":"2024-09-11T17:32:56.256Z"}}]}}}