CVE-2025-37993 (GCVE-0-2025-37993)
Vulnerability from cvelistv5
Published
2025-05-29 13:15
Modified
2025-05-29 13:15
Severity ?
VLAI Severity ?
EPSS score ?
Summary
In the Linux kernel, the following vulnerability has been resolved:
can: m_can: m_can_class_allocate_dev(): initialize spin lock on device probe
The spin lock tx_handling_spinlock in struct m_can_classdev is not
being initialized. This leads the following spinlock bad magic
complaint from the kernel, eg. when trying to send CAN frames with
cansend from can-utils:
| BUG: spinlock bad magic on CPU#0, cansend/95
| lock: 0xff60000002ec1010, .magic: 00000000, .owner: <none>/-1, .owner_cpu: 0
| CPU: 0 UID: 0 PID: 95 Comm: cansend Not tainted 6.15.0-rc3-00032-ga79be02bba5c #5 NONE
| Hardware name: MachineWare SIM-V (DT)
| Call Trace:
| [<ffffffff800133e0>] dump_backtrace+0x1c/0x24
| [<ffffffff800022f2>] show_stack+0x28/0x34
| [<ffffffff8000de3e>] dump_stack_lvl+0x4a/0x68
| [<ffffffff8000de70>] dump_stack+0x14/0x1c
| [<ffffffff80003134>] spin_dump+0x62/0x6e
| [<ffffffff800883ba>] do_raw_spin_lock+0xd0/0x142
| [<ffffffff807a6fcc>] _raw_spin_lock_irqsave+0x20/0x2c
| [<ffffffff80536dba>] m_can_start_xmit+0x90/0x34a
| [<ffffffff806148b0>] dev_hard_start_xmit+0xa6/0xee
| [<ffffffff8065b730>] sch_direct_xmit+0x114/0x292
| [<ffffffff80614e2a>] __dev_queue_xmit+0x3b0/0xaa8
| [<ffffffff8073b8fa>] can_send+0xc6/0x242
| [<ffffffff8073d1c0>] raw_sendmsg+0x1a8/0x36c
| [<ffffffff805ebf06>] sock_write_iter+0x9a/0xee
| [<ffffffff801d06ea>] vfs_write+0x184/0x3a6
| [<ffffffff801d0a88>] ksys_write+0xa0/0xc0
| [<ffffffff801d0abc>] __riscv_sys_write+0x14/0x1c
| [<ffffffff8079ebf8>] do_trap_ecall_u+0x168/0x212
| [<ffffffff807a830a>] handle_exception+0x146/0x152
Initializing the spin lock in m_can_class_allocate_dev solves that
problem.
References
Impacted products
{ "containers": { "cna": { "affected": [ { "defaultStatus": "unaffected", "product": "Linux", "programFiles": [ "drivers/net/can/m_can/m_can.c" ], "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git", "vendor": "Linux", "versions": [ { "lessThan": "2ecce25ea296f328d79070ee36229a15aeeb7aca", "status": "affected", "version": "1fa80e23c15051edc1c594270517de3517ded798", "versionType": "git" }, { "lessThan": "7d5379cfecfdd665e4206bc4f19824656388779f", "status": "affected", "version": "1fa80e23c15051edc1c594270517de3517ded798", "versionType": "git" }, { "lessThan": "dcaeeb8ae84c5506ebc574732838264f3887738c", "status": "affected", "version": "1fa80e23c15051edc1c594270517de3517ded798", "versionType": "git" } ] }, { "defaultStatus": "affected", "product": "Linux", "programFiles": [ "drivers/net/can/m_can/m_can.c" ], "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git", "vendor": "Linux", "versions": [ { "status": "affected", "version": "6.9" }, { "lessThan": "6.9", "status": "unaffected", "version": "0", "versionType": "semver" }, { "lessThanOrEqual": "6.12.*", "status": "unaffected", "version": "6.12.29", "versionType": "semver" }, { "lessThanOrEqual": "6.14.*", "status": "unaffected", "version": "6.14.7", "versionType": "semver" }, { "lessThanOrEqual": "*", "status": "unaffected", "version": "6.15", "versionType": "original_commit_for_fix" } ] } ], "cpeApplicability": [ { "nodes": [ { "cpeMatch": [ { "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*", "versionEndExcluding": "6.12.29", "versionStartIncluding": "6.9", "vulnerable": true }, { "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*", "versionEndExcluding": "6.14.7", "versionStartIncluding": "6.9", "vulnerable": true }, { "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*", "versionEndExcluding": "6.15", "versionStartIncluding": "6.9", "vulnerable": true } ], "negate": false, "operator": "OR" } ] } ], "descriptions": [ { "lang": "en", "value": "In the Linux kernel, the following vulnerability has been resolved:\n\ncan: m_can: m_can_class_allocate_dev(): initialize spin lock on device probe\n\nThe spin lock tx_handling_spinlock in struct m_can_classdev is not\nbeing initialized. This leads the following spinlock bad magic\ncomplaint from the kernel, eg. when trying to send CAN frames with\ncansend from can-utils:\n\n| BUG: spinlock bad magic on CPU#0, cansend/95\n| lock: 0xff60000002ec1010, .magic: 00000000, .owner: \u003cnone\u003e/-1, .owner_cpu: 0\n| CPU: 0 UID: 0 PID: 95 Comm: cansend Not tainted 6.15.0-rc3-00032-ga79be02bba5c #5 NONE\n| Hardware name: MachineWare SIM-V (DT)\n| Call Trace:\n| [\u003cffffffff800133e0\u003e] dump_backtrace+0x1c/0x24\n| [\u003cffffffff800022f2\u003e] show_stack+0x28/0x34\n| [\u003cffffffff8000de3e\u003e] dump_stack_lvl+0x4a/0x68\n| [\u003cffffffff8000de70\u003e] dump_stack+0x14/0x1c\n| [\u003cffffffff80003134\u003e] spin_dump+0x62/0x6e\n| [\u003cffffffff800883ba\u003e] do_raw_spin_lock+0xd0/0x142\n| [\u003cffffffff807a6fcc\u003e] _raw_spin_lock_irqsave+0x20/0x2c\n| [\u003cffffffff80536dba\u003e] m_can_start_xmit+0x90/0x34a\n| [\u003cffffffff806148b0\u003e] dev_hard_start_xmit+0xa6/0xee\n| [\u003cffffffff8065b730\u003e] sch_direct_xmit+0x114/0x292\n| [\u003cffffffff80614e2a\u003e] __dev_queue_xmit+0x3b0/0xaa8\n| [\u003cffffffff8073b8fa\u003e] can_send+0xc6/0x242\n| [\u003cffffffff8073d1c0\u003e] raw_sendmsg+0x1a8/0x36c\n| [\u003cffffffff805ebf06\u003e] sock_write_iter+0x9a/0xee\n| [\u003cffffffff801d06ea\u003e] vfs_write+0x184/0x3a6\n| [\u003cffffffff801d0a88\u003e] ksys_write+0xa0/0xc0\n| [\u003cffffffff801d0abc\u003e] __riscv_sys_write+0x14/0x1c\n| [\u003cffffffff8079ebf8\u003e] do_trap_ecall_u+0x168/0x212\n| [\u003cffffffff807a830a\u003e] handle_exception+0x146/0x152\n\nInitializing the spin lock in m_can_class_allocate_dev solves that\nproblem." } ], "providerMetadata": { "dateUpdated": "2025-05-29T13:15:52.811Z", "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67", "shortName": "Linux" }, "references": [ { "url": "https://git.kernel.org/stable/c/2ecce25ea296f328d79070ee36229a15aeeb7aca" }, { "url": "https://git.kernel.org/stable/c/7d5379cfecfdd665e4206bc4f19824656388779f" }, { "url": "https://git.kernel.org/stable/c/dcaeeb8ae84c5506ebc574732838264f3887738c" } ], "title": "can: m_can: m_can_class_allocate_dev(): initialize spin lock on device probe", "x_generator": { "engine": "bippy-1.2.0" } } }, "cveMetadata": { "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67", "assignerShortName": "Linux", "cveId": "CVE-2025-37993", "datePublished": "2025-05-29T13:15:52.811Z", "dateReserved": "2025-04-16T04:51:23.976Z", "dateUpdated": "2025-05-29T13:15:52.811Z", "state": "PUBLISHED" }, "dataType": "CVE_RECORD", "dataVersion": "5.1", "vulnerability-lookup:meta": { "nvd": "{\"cve\":{\"id\":\"CVE-2025-37993\",\"sourceIdentifier\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"published\":\"2025-05-29T14:15:35.767\",\"lastModified\":\"2025-05-29T14:29:50.247\",\"vulnStatus\":\"Awaiting Analysis\",\"cveTags\":[],\"descriptions\":[{\"lang\":\"en\",\"value\":\"In the Linux kernel, the following vulnerability has been resolved:\\n\\ncan: m_can: m_can_class_allocate_dev(): initialize spin lock on device probe\\n\\nThe spin lock tx_handling_spinlock in struct m_can_classdev is not\\nbeing initialized. This leads the following spinlock bad magic\\ncomplaint from the kernel, eg. when trying to send CAN frames with\\ncansend from can-utils:\\n\\n| BUG: spinlock bad magic on CPU#0, cansend/95\\n| lock: 0xff60000002ec1010, .magic: 00000000, .owner: \u003cnone\u003e/-1, .owner_cpu: 0\\n| CPU: 0 UID: 0 PID: 95 Comm: cansend Not tainted 6.15.0-rc3-00032-ga79be02bba5c #5 NONE\\n| Hardware name: MachineWare SIM-V (DT)\\n| Call Trace:\\n| [\u003cffffffff800133e0\u003e] dump_backtrace+0x1c/0x24\\n| [\u003cffffffff800022f2\u003e] show_stack+0x28/0x34\\n| [\u003cffffffff8000de3e\u003e] dump_stack_lvl+0x4a/0x68\\n| [\u003cffffffff8000de70\u003e] dump_stack+0x14/0x1c\\n| [\u003cffffffff80003134\u003e] spin_dump+0x62/0x6e\\n| [\u003cffffffff800883ba\u003e] do_raw_spin_lock+0xd0/0x142\\n| [\u003cffffffff807a6fcc\u003e] _raw_spin_lock_irqsave+0x20/0x2c\\n| [\u003cffffffff80536dba\u003e] m_can_start_xmit+0x90/0x34a\\n| [\u003cffffffff806148b0\u003e] dev_hard_start_xmit+0xa6/0xee\\n| [\u003cffffffff8065b730\u003e] sch_direct_xmit+0x114/0x292\\n| [\u003cffffffff80614e2a\u003e] __dev_queue_xmit+0x3b0/0xaa8\\n| [\u003cffffffff8073b8fa\u003e] can_send+0xc6/0x242\\n| [\u003cffffffff8073d1c0\u003e] raw_sendmsg+0x1a8/0x36c\\n| [\u003cffffffff805ebf06\u003e] sock_write_iter+0x9a/0xee\\n| [\u003cffffffff801d06ea\u003e] vfs_write+0x184/0x3a6\\n| [\u003cffffffff801d0a88\u003e] ksys_write+0xa0/0xc0\\n| [\u003cffffffff801d0abc\u003e] __riscv_sys_write+0x14/0x1c\\n| [\u003cffffffff8079ebf8\u003e] do_trap_ecall_u+0x168/0x212\\n| [\u003cffffffff807a830a\u003e] handle_exception+0x146/0x152\\n\\nInitializing the spin lock in m_can_class_allocate_dev solves that\\nproblem.\"},{\"lang\":\"es\",\"value\":\"En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: can: m_can: m_can_class_allocate_dev(): inicializar spinlock en la sonda del dispositivo. El spinlock tx_handling_spinlock en la estructura m_can_classdev no se est\u00e1 inicializando. Esto provoca la siguiente queja de spinlock bad magic del kernel, p. ej. al intentar enviar tramas CAN con cansend desde can-utils: | BUG: spinlock bad magic en CPU#0, cansend/95 | lock: 0xff60000002ec1010, .magic: 00000000, .owner: /-1, .owner_cpu: 0 | CPU: 0 UID: 0 PID: 95 Comm: cansend No contaminado 6.15.0-rc3-00032-ga79be02bba5c #5 NONE | Nombre del hardware: MachineWare SIM-V (DT) | Rastreo de llamadas: | [] dump_backtrace+0x1c/0x24 | [] show_stack+0x28/0x34 | [] dump_stack_lvl+0x4a/0x68 | [] dump_stack+0x14/0x1c | [] spin_dump+0x62/0x6e | [] do_raw_spin_lock+0xd0/0x142 | [] _raw_spin_lock_irqsave+0x20/0x2c | [] m_can_start_xmit+0x90/0x34a | [] dev_hard_start_xmit+0xa6/0xee | [] sch_direct_xmit+0x114/0x292 | [] __dev_queue_xmit+0x3b0/0xaa8 | [] can_send+0xc6/0x242 | [] raw_sendmsg+0x1a8/0x36c | [] sock_write_iter+0x9a/0xee | [] vfs_write+0x184/0x3a6 | [] ksys_write+0xa0/0xc0 | [] __riscv_sys_write+0x14/0x1c | [] do_trap_ecall_u+0x168/0x212 | [] handle_exception+0x146/0x152 Inicializar el bloqueo de giro en m_can_class_allocate_dev resuelve ese problema.\"}],\"metrics\":{},\"references\":[{\"url\":\"https://git.kernel.org/stable/c/2ecce25ea296f328d79070ee36229a15aeeb7aca\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/7d5379cfecfdd665e4206bc4f19824656388779f\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/dcaeeb8ae84c5506ebc574732838264f3887738c\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"}]}}" } }
Loading…
Loading…
Sightings
Author | Source | Type | Date |
---|
Nomenclature
- Seen: The vulnerability was mentioned, discussed, or seen somewhere by the user.
- Confirmed: The vulnerability is confirmed from an analyst perspective.
- Exploited: This vulnerability was exploited and seen by the user reporting the sighting.
- Patched: This vulnerability was successfully patched by the user reporting the sighting.
- Not exploited: This vulnerability was not exploited or seen by the user reporting the sighting.
- Not confirmed: The user expresses doubt about the veracity of the vulnerability.
- Not patched: This vulnerability was not successfully patched by the user reporting the sighting.
Loading…
Loading…