CVE-2026-72119 in Linuxinfo

Summary

by MITRE • 08/15/2026

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.

Once again VulDB remains the best source for vulnerability data.

Analysis

by VulDB Data Team • 08/15/2026

This vulnerability resides within the Linux kernel's CAN (Controller Area Network) subsystem, specifically addressing issues in the Broadcast Message Controller implementation that governs how CAN frames are transmitted and managed. The BCM module serves as a critical interface for applications to schedule and transmit CAN messages with specific timing requirements, making it a potential target for exploitation due to its privileged execution context and direct hardware interaction capabilities. The vulnerability stems from improper synchronization mechanisms during frame updates and timer modifications within the transmit operation handling code.

The core technical flaw involves inadequate locking mechanisms when updating CAN frame data structures in the bcm_tx_setup() function. When new CAN frame content is prepared for an existing transmission operation, the system allocates memory using kmalloc() to stage the new frame data before validation occurs. However, without proper synchronization during this staging process, concurrent access patterns could result in partial updates or race conditions where multiple threads might observe inconsistent states of the frame data structure. This design flaw mirrors a known pattern that was already addressed in bcm_rx_setup() but not consistently applied to transmit operations.

The vulnerability extends beyond simple memory management issues to include critical error handling gaps in the memcpy_from_msg() function which copies CAN frame data from userspace into kernel space. The missing error path means that when memory copying operations fail due to invalid user pointers or insufficient buffer space, the system does not properly handle these failure conditions, potentially leading to information disclosure, privilege escalation, or system instability. This represents a classic security weakness where error conditions are not adequately validated before proceeding with further operations.

Additional synchronization issues exist in timer-related updates within bcm_tx_setup() where interval values kt_ival1, kt_ival2, ival1, and ival2 are modified without proper locking mechanisms. The absence of consistent lock acquisition during these modifications creates a torn 64-bit ktime_t read scenario on 32-bit platforms, where concurrent read operations might observe partially updated 64-bit values. This type of race condition specifically relates to CWE-362 (Concurrent Execution using Shared Resource with Improper Synchronization) and affects systems running on 32-bit architectures where 64-bit atomic operations are not guaranteed to be atomic.

The operational impact of this vulnerability is significant for embedded automotive systems, industrial control networks, and any Linux-based platform that relies on CAN communication protocols. Attackers could potentially exploit these race conditions to manipulate timing parameters, cause transmission failures, or gain unauthorized access to system resources through carefully crafted malicious CAN frame data. The vulnerability affects kernel versions where the BCM module handles CAN transmission operations, particularly impacting automotive infotainment systems, industrial automation equipment, and networked embedded devices that utilize Linux for their operating system.

Mitigation strategies should focus on implementing proper locking mechanisms throughout the BCM transmit operation handling code path. The fix requires acquiring op->bcm_tx_lock before any modifications to frame data structures or timer parameters, ensuring atomic updates that prevent concurrent access during critical sections. System administrators should apply kernel updates immediately upon availability, particularly in production environments where CAN communication is critical for system functionality. Additionally, implementing proper error handling for memcpy_from_msg() operations will prevent exploitation through malformed user input, while the consistent use of locking primitives will eliminate the torn read conditions on 32-bit platforms. This vulnerability aligns with ATT&CK technique T1068 (Exploitation for Privilege Escalation) and T1547.001 (Registry Run Keys/Startup Folder) through potential exploitation pathways involving kernel memory corruption and privilege escalation, making timely patching essential for maintaining system security.

The fix demonstrates a comprehensive approach to addressing concurrency issues in kernel space, following established security practices for protecting shared resources through proper locking mechanisms. The solution mirrors best practices from the Linux kernel security model where synchronization primitives are consistently applied to prevent race conditions and ensure data integrity during critical operations. This type of vulnerability highlights the importance of maintaining consistent security patterns throughout kernel subsystems, as inconsistencies can create exploitable attack surfaces that compromise entire system architectures.

Responsible

Linux

Reservation

08/09/2026

Disclosure

08/15/2026

Moderation

accepted

CPE

ready

EPSS

0.00209

KEV

no

Activities

very low

Sources

Do you know our Splunk app?

Download it now for free!