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

can: bcm: extend bcm_tx_lock usage for data and timer updates

Stage new CAN frame content for an existing tx op into a kmalloc()'d
buffer and validate it there, mirroring the approach already used in
bcm_rx_setup(). Only copy the validated data into op->frames while
holding op->bcm_tx_lock, so bcm_can_tx() and bcm_tx_timeout_handler()
can no longer observe a partially updated or unvalidated frame.

Add a missing error path for memcpy_from_msg() when copying CAN frame
data from userspace.

Also move the kt_ival1/kt_ival2/ival1/ival2 updates in bcm_tx_setup()
under op->bcm_tx_lock, and read kt_ival1/kt_ival2/count under the same
lock in bcm_tx_set_expiry() and bcm_tx_timeout_handler(), closing the
torn 64-bit ktime_t read on 32-bit platforms.
Published: 2026-08-15
Score: n/a
EPSS: n/a
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

The vulnerability arose from insufficient locking around a CAN bus transmit buffer and timer configuration in the Linux kernel's bcm driver. Because bcm_tx_lock was not held when new frame data was staged or when 64‑bit timing values were updated, concurrent access could observe partially updated or unvalidated frames. The missing error path for memcpy_from_msg() also meant that malformed userspace frames could be copied without proper validation. These issues could lead to kernel state corruption, causing crashes or potentially providing an attacker's code execution path. The fix extends the lock usage to cover all data and timer updates and adds the missing error check. The nature of the flaw is a classic atomicity violation (lock missing) combined with improper error handling.

Affected Systems

The affected product is the Linux kernel, all distributions deploying the generic Linux kernel that includes the bcm driver. Versions prior to the patch that introduced the extended bcm_tx_lock usage are impacted. Exact version numbers are not listed, so any kernel build that contains the bcm driver should be examined for the patch application.

Risk and Exploitability

Because the flaw operates in kernel space, an attacker with the ability to send crafted CAN frames or manipulate the CAN bus could exploit the race to trigger a crash. The likely attack vector is via the CAN bus interface, where an unprivileged sender could inject malformed frames that the driver would process without proper locking or validation. The EPSS score is not provided, and the vulnerability is not listed in CISA’s KEV catalog, suggesting that no widespread active exploitation is known as of the last update. However, the lack of a lock around 64‑bit timer reads on 32‑bit platforms leaves a window for torn reads, which could be leveraged to corrupt kernel memory in a carefully timed scenario.

Generated by OpenCVE AI on August 15, 2026 at 08:54 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade the Linux kernel to a version that contains the bcm_tx_lock extension, ensuring that the new lock scope and error handling are in place.
  • If an immediate kernel upgrade is not feasible, consider temporarily restricting access to the CAN bus device for untrusted userspace processes, either through chmod/chown or by applying SELinux/AppArmor rules that limit write access to the driver.
  • Verify that any userspace tools writing to the bcm driver handle errors from memcpy_from_msg() and do not send malformed data; ensure proper validation before transmission.
  • Maintain a monitoring plan for CAN traffic to detect abnormal frame patterns that might indicate an attempt to trigger kernel crashes.

Generated by OpenCVE AI on August 15, 2026 at 08:54 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

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

Type Values Removed Values Added
Weaknesses CWE-1035
CWE-362

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: extend bcm_tx_lock usage for data and timer updates Stage new CAN frame content for an existing tx op into a kmalloc()'d buffer and validate it there, mirroring the approach already used in bcm_rx_setup(). Only copy the validated data into op->frames while holding op->bcm_tx_lock, so bcm_can_tx() and bcm_tx_timeout_handler() can no longer observe a partially updated or unvalidated frame. Add a missing error path for memcpy_from_msg() when copying CAN frame data from userspace. Also move the kt_ival1/kt_ival2/ival1/ival2 updates in bcm_tx_setup() under op->bcm_tx_lock, and read kt_ival1/kt_ival2/count under the same lock in bcm_tx_set_expiry() and bcm_tx_timeout_handler(), closing the torn 64-bit ktime_t read on 32-bit platforms.
Title can: bcm: extend bcm_tx_lock usage for data and timer updates
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-15T05:52:58.479Z

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

Link: CVE-2026-72119

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

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

Modified: 2026-08-15T06:21:26.363

Link: CVE-2026-72119

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-08-15T09:00:06Z

Weaknesses
  • CWE-1035
  • CWE-362

    Concurrent Execution using Shared Resource with Improper Synchronization ('Race Condition')