CVE-2025-38004
can: bcm: add locking for bcm_op runtime updates
Severity Score
Exploit Likelihood
Affected Versions
Public Exploits
0Exploited in Wild
-Decision
Descriptions
In the Linux kernel, the following vulnerability has been resolved: can: bcm: add locking for bcm_op runtime updates The CAN broadcast manager (CAN BCM) can send a sequence of CAN frames via
hrtimer. The content and also the length of the sequence can be changed
resp reduced at runtime where the 'currframe' counter is then set to zero. Although this appeared to be a safe operation the updates of 'currframe'
can be triggered from user space and hrtimer context in bcm_can_tx().
Anderson Nascimento created a proof of concept that triggered a KASAN
slab-out-of-bounds read access which can be prevented with a spin_lock_bh. At the rework of bcm_can_tx() the 'count' variable has been moved into
the protected section as this variable can be modified from both contexts
too.
En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: can: bcm: añadir bloqueo para actualizaciones en tiempo de ejecución de bcm_op El gestor de difusión CAN (CAN BCM) puede enviar una secuencia de tramas CAN a través de hrtimer. El contenido y también la longitud de la secuencia se pueden cambiar o reducir en tiempo de ejecución, donde el contador 'currframe' se establece entonces en cero. Aunque esto parecía ser una operación segura, las actualizaciones de 'currframe' se pueden activar desde el espacio de usuario y el contexto de hrtimer en bcm_can_tx(). Anderson Nascimento creó una prueba de concepto que activó un acceso de lectura fuera de los límites de KASAN slab que se puede prevenir con un spin_lock_bh. En la reelaboración de bcm_can_tx() la variable 'count' se ha movido a la sección protegida ya que esta variable también se puede modificar desde ambos contextos.
In the Linux kernel, the following vulnerability has been resolved: can: bcm: add locking for bcm_op runtime updates The CAN broadcast manager (CAN BCM) can send a sequence of CAN frames via hrtimer. The content and also the length of the sequence can be changed resp reduced at runtime where the 'currframe' counter is then set to zero. Although this appeared to be a safe operation the updates of 'currframe' can be triggered from user space and hrtimer context in bcm_can_tx(). Anderson Nascimento created a proof of concept that triggered a KASAN slab-out-of-bounds read access which can be prevented with a spin_lock_bh. At the rework of bcm_can_tx() the 'count' variable has been moved into the protected section as this variable can be modified from both contexts too.
The SUSE Linux Enterprise 15 SP6 Azure kernel was updated to receive various security bug fixes.
CVSS Scores
SSVC
- Decision:-
Timeline
- 2025-04-16 CVE Reserved
- 2025-06-08 CVE Published
- 2025-06-09 CVE Updated
- 2025-06-14 EPSS Updated
- ---------- Exploited in Wild
- ---------- KEV Due Date
- ---------- First Exploit
CWE
CAPEC
References (9)
URL | Tag | Source |
---|---|---|
https://git.kernel.org/stable/c/ffd980f976e7fd666c2e61bf8ab35107efd11828 | Vuln. Introduced |
URL | Date | SRC |
---|
URL | Date | SRC |
---|
Affected Vendors, Products, and Versions
Vendor | Product | Version | Other | Status | ||||||
---|---|---|---|---|---|---|---|---|---|---|
Vendor | Product | Version | Other | Status | <-- --> | Vendor | Product | Version | Other | Status |
Linux Search vendor "Linux" | Linux Kernel Search vendor "Linux" for product "Linux Kernel" | >= 2.6.25 < 5.4.294 Search vendor "Linux" for product "Linux Kernel" and version " >= 2.6.25 < 5.4.294" | en |
Affected
| ||||||
Linux Search vendor "Linux" | Linux Kernel Search vendor "Linux" for product "Linux Kernel" | >= 2.6.25 < 5.10.238 Search vendor "Linux" for product "Linux Kernel" and version " >= 2.6.25 < 5.10.238" | en |
Affected
| ||||||
Linux Search vendor "Linux" | Linux Kernel Search vendor "Linux" for product "Linux Kernel" | >= 2.6.25 < 5.15.185 Search vendor "Linux" for product "Linux Kernel" and version " >= 2.6.25 < 5.15.185" | en |
Affected
| ||||||
Linux Search vendor "Linux" | Linux Kernel Search vendor "Linux" for product "Linux Kernel" | >= 2.6.25 < 6.1.141 Search vendor "Linux" for product "Linux Kernel" and version " >= 2.6.25 < 6.1.141" | en |
Affected
| ||||||
Linux Search vendor "Linux" | Linux Kernel Search vendor "Linux" for product "Linux Kernel" | >= 2.6.25 < 6.6.93 Search vendor "Linux" for product "Linux Kernel" and version " >= 2.6.25 < 6.6.93" | en |
Affected
| ||||||
Linux Search vendor "Linux" | Linux Kernel Search vendor "Linux" for product "Linux Kernel" | >= 2.6.25 < 6.12.31 Search vendor "Linux" for product "Linux Kernel" and version " >= 2.6.25 < 6.12.31" | en |
Affected
| ||||||
Linux Search vendor "Linux" | Linux Kernel Search vendor "Linux" for product "Linux Kernel" | >= 2.6.25 < 6.14.9 Search vendor "Linux" for product "Linux Kernel" and version " >= 2.6.25 < 6.14.9" | en |
Affected
| ||||||
Linux Search vendor "Linux" | Linux Kernel Search vendor "Linux" for product "Linux Kernel" | >= 2.6.25 < 6.15 Search vendor "Linux" for product "Linux Kernel" and version " >= 2.6.25 < 6.15" | en |
Affected
|