CVE-2025-71274

In the Linux kernel, the following vulnerability has been resolved: rpmsg: core: fix race in driver_override_show() and use core helper The driver_override_show function reads the driver_override string without holding the device_lock. However, the store function modifies and frees the string while holding the device_lock. This creates a race condition where the string can be freed by the store function while being read by the show function, leading to a use-after-free. To fix this, replace the rpmsg_string_attr macro with explicit show and store functions. The new driver_override_store uses the standard driver_set_override helper. Since the introduction of driver_set_override, the comments in include/linux/rpmsg.h have stated that this helper must be used to set or clear driver_override, but the implementation was not updated until now. Because driver_set_override modifies and frees the string while holding the device_lock, the new driver_override_show now correctly holds the device_lock during the read operation to prevent the race. Additionally, since rpmsg_string_attr has only ever been used for driver_override, removing the macro simplifies the code.
Configurations

Configuration 1 (hide)

OR cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*

History

14 Oct 2026, 13:10

Type Values Removed Values Added
Summary
  • (es) En el kernel de Linux, la siguiente vulnerabilidad ha sido resuelta: rpmsg: core: corregir condición de carrera en driver_override_show() y usar la función auxiliar del core La función driver_override_show lee la cadena driver_override sin mantener el device_lock. Sin embargo, la función store modifica y libera la cadena mientras mantiene el device_lock. Esto crea una condición de carrera donde la cadena puede ser liberada por la función store mientras es leída por la función show, lo que lleva a un uso después de liberación. Para solucionar esto, reemplace la macro rpmsg_string_attr con funciones show y store explícitas. La nueva driver_override_store utiliza la función auxiliar estándar driver_set_override. Desde la introducción de driver_set_override, los comentarios en include/linux/rpmsg.h han indicado que esta función auxiliar debe ser utilizada para establecer o borrar driver_override, pero la implementación no fue actualizada hasta ahora. Debido a que driver_set_override modifica y libera la cadena mientras mantiene el device_lock, la nueva driver_override_show ahora mantiene correctamente el device_lock durante la operación de lectura para prevenir la condición de carrera. Además, dado que rpmsg_string_attr solo ha sido utilizada para driver_override, eliminar la macro simplifica el código.

Information

Published : 2026-05-06 12:16

Updated : 2026-10-19 19:17


NVD link : CVE-2025-71274

Mitre link : CVE-2025-71274

CVE.ORG link : CVE-2025-71274


JSON object : View

Products Affected

linux

  • linux_kernel
CWE
CWE-362

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