CyberRota Analysis
AI-GeneratedThe vulnerability affects the Linux kernel's CAN (Controller Area Network) subsystem, specifically in the bcm (Broadcom) driver, where improper handling of data and timer updates could lead to the exposure of partially updated or unvalidated CAN frames. This flaw may allow attackers to manipulate CAN messages, potentially leading to system instability or unauthorized access to critical resources. Organizations utilizing Linux systems with CAN interfaces, particularly those in automotive or industrial control environments, should prioritize addressing this vulnerability to mitigate potential risks.
Original NVD 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.