Description
In the Linux kernel, the following vulnerability has been resolved:

can: bcm: add missing rcu list annotations and operations

sashiko-bot remarked the missing use of list_add_rcu() in
bcm_[rx|tx]_setup() to have a proper initialized bcm_op structure
when bcm_proc_show() traverses the bcm_op's under rcu_read_lock().

To cover all initial settings of the bcm_op's the list_add_rcu() calls
are moved to the end of the setup code.

While at it, also fix the mirroring removal side: bcm_release() called
bcm_remove_op() - which frees the op via call_rcu() - on ops that were
still linked in bo->tx_ops/bo->rx_ops, without list_del_rcu() first.
Unlink each op with list_del_rcu() before handing it to bcm_remove_op(),
matching the existing pattern in bcm_delete_tx_op()/bcm_delete_rx_op().
Published: 2026-08-15
Score: 7.8 High
EPSS: < 1% Very Low
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

The Linux kernel CAN bus (bcm) driver omitted proper RCU list initialization and removal in bcm_[rx|tx]_setup() and bcm_release(). The missing use of list_add_rcu() caused bcm_op structures to be traversed under rcu_read_lock while still uninitialized, and the removal path freed ops that were still linked without unlinking. These issues can lead to a use‑after‑free condition and associated memory corruption, potentially causing kernel crashes or a denial of service if the affected code paths are exercised.

Affected Systems

All Linux kernel versions that contain the bcm CAN bus driver before the commit that introduces list_add_rcu() and list_del_rcu() calls are vulnerable. The vulnerability applies to any kernel that includes the bcm driver before the fixes reflected in the referenced commit hashes (e.g., 30f7bb922cb7e7f072a56c7cb7a5efccd2ceca1d). No specific version range is provided; therefore, any kernel with the driver before the listed commits could be affected.

Risk and Exploitability

The EPSS score is < 1%, indicating a very low probability of exploitation. The CVSS score of 7.8 highlights high severity, with potential for kernel crashes or denial of service. The vulnerability is not listed in CISA KEV. Exploitation would likely require local or privileged access to load or interact with the bcm driver and trigger the bcm_proc_show or bcm_release paths. No publicly known exploits exist, so the overall risk remains moderate for typical environments, though a use‑after‑free can cause a kernel crash if the affected code is exercised.

Generated by OpenCVE AI on August 18, 2026 at 02:15 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Apply a Linux kernel update that includes the commit(s) adding list_add_rcu() and list_del_rcu() to the bcm driver (e.g., commit 30f7bb922cb7e7f072a56c7cb7a5efccd2ceca1d).
  • If an immediate kernel update is not possible, unload or disable the bcm module or block the associated CAN bus hardware to prevent interaction with the vulnerable code.
  • Continuously monitor system logs for unexpected kernel panics or crashes that may indicate exploitation, and apply subsequent kernel updates promptly.

Generated by OpenCVE AI on August 18, 2026 at 02:15 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Tue, 18 Aug 2026 00:15:00 +0000

Type Values Removed Values Added
Weaknesses CWE-821
References
Metrics threat_severity

None

threat_severity

Moderate


Mon, 17 Aug 2026 08:15:00 +0000

Type Values Removed Values Added
Weaknesses CWE-416

Mon, 17 Aug 2026 06:00:00 +0000

Type Values Removed Values Added
Metrics cvssV3_1

{'score': 7.8, 'vector': 'CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H'}


Sat, 15 Aug 2026 20:45:00 +0000

Type Values Removed Values Added
Weaknesses CWE-416

Sat, 15 Aug 2026 06:00:00 +0000

Type Values Removed Values Added
Description In the Linux kernel, the following vulnerability has been resolved: can: bcm: add missing rcu list annotations and operations sashiko-bot remarked the missing use of list_add_rcu() in bcm_[rx|tx]_setup() to have a proper initialized bcm_op structure when bcm_proc_show() traverses the bcm_op's under rcu_read_lock(). To cover all initial settings of the bcm_op's the list_add_rcu() calls are moved to the end of the setup code. While at it, also fix the mirroring removal side: bcm_release() called bcm_remove_op() - which frees the op via call_rcu() - on ops that were still linked in bo->tx_ops/bo->rx_ops, without list_del_rcu() first. Unlink each op with list_del_rcu() before handing it to bcm_remove_op(), matching the existing pattern in bcm_delete_tx_op()/bcm_delete_rx_op().
Title can: bcm: add missing rcu list annotations and operations
First Time appeared Linux
Linux linux Kernel
CPEs cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
Vendors & Products Linux
Linux linux Kernel
References

Subscriptions

Linux Linux Kernel
cve-icon MITRE

Status: PUBLISHED

Assigner: Linux

Published:

Updated: 2026-08-17T05:40:33.370Z

Reserved: 2026-08-09T03:40:39.907Z

Link: CVE-2026-72120

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-08-15T06:21:26.507

Modified: 2026-08-17T06:18:11.367

Link: CVE-2026-72120

cve-icon Redhat

Severity : Moderate

Publid Date: 2026-08-15T00:00:00Z

Links: CVE-2026-72120 - Bugzilla

cve-icon OpenCVE Enrichment

Updated: 2026-08-18T02:30:03Z

Weaknesses
  • CWE-821

    Incorrect Synchronization