// For flags

CVE-2025-38004

can: bcm: add locking for bcm_op runtime updates

Severity Score

5.5
*CVSS v3

Exploit Likelihood

*EPSS

Affected Versions

*CPE

Public Exploits

0
*Multiple Sources

Exploited in Wild

-
*KEV

Decision

-
*SSVC
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.

*Credits: N/A
CVSS Scores
Attack Vector
Local
Attack Complexity
Low
Privileges Required
Low
User Interaction
None
Scope
Unchanged
Confidentiality
None
Integrity
None
Availability
High
Attack Vector
Network
Attack Complexity
Low
Authentication
None
Confidentiality
None
Integrity
Partial
Availability
Partial
* Common Vulnerability Scoring System
SSVC
  • Decision:-
Exploitation
-
Automatable
-
Tech. Impact
-
* Organization's Worst-case Scenario
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
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