CVE-2025-71274
Severity CVSS v4.0:
Pending analysis
Type:
CWE-362
Concurrent Execution using Shared Resource with Improper Synchronization ('Race Condition')
Publication date:
06/05/2026
Last modified:
12/05/2026
Description
In the Linux kernel, the following vulnerability has been resolved:<br />
<br />
rpmsg: core: fix race in driver_override_show() and use core helper<br />
<br />
The driver_override_show function reads the driver_override string<br />
without holding the device_lock. However, the store function modifies<br />
and frees the string while holding the device_lock. This creates a race<br />
condition where the string can be freed by the store function while<br />
being read by the show function, leading to a use-after-free.<br />
<br />
To fix this, replace the rpmsg_string_attr macro with explicit show and<br />
store functions. The new driver_override_store uses the standard<br />
driver_set_override helper. Since the introduction of<br />
driver_set_override, the comments in include/linux/rpmsg.h have stated<br />
that this helper must be used to set or clear driver_override, but the<br />
implementation was not updated until now.<br />
<br />
Because driver_set_override modifies and frees the string while holding<br />
the device_lock, the new driver_override_show now correctly holds the<br />
device_lock during the read operation to prevent the race.<br />
<br />
Additionally, since rpmsg_string_attr has only ever been used for<br />
driver_override, removing the macro simplifies the code.
Impact
Base Score 3.x
4.70
Severity 3.x
MEDIUM
Vulnerable products and versions
| CPE | From | Up to |
|---|---|---|
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 4.18 (including) | 5.10.252 (excluding) |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 5.11 (including) | 5.15.202 (excluding) |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 5.16 (including) | 6.1.165 (excluding) |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 6.2 (including) | 6.6.128 (excluding) |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 6.7 (including) | 6.12.75 (excluding) |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 6.13 (including) | 6.18.16 (excluding) |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 6.19 (including) | 6.19.6 (excluding) |
To consult the complete list of CPE names with products and versions, see this page
References to Advisories, Solutions, and Tools
- https://git.kernel.org/stable/c/2e4a70f3c30910427e5ea848b799066d67b963d5
- https://git.kernel.org/stable/c/392c6b68334aa0e0ae9aba95c0a366bcb0d92f5d
- https://git.kernel.org/stable/c/42023d4b6d2661a40ee2dcf7e1a3528a35c638ca
- https://git.kernel.org/stable/c/47615557447185917afa432b7958f87583c417cb
- https://git.kernel.org/stable/c/7654e6e3cd6bdee9602f6063b3c670bd556d7e61
- https://git.kernel.org/stable/c/90c8353f471821d7ccd4fe573a2402e056192494
- https://git.kernel.org/stable/c/954557957177c3c13d7c655976665b1170da5e50
- https://git.kernel.org/stable/c/d66b8074c555e8abb0ae19eea1c9f3635498bdde



