CVE-2026-45914
Gravedad CVSS v3.1:
ALTA
Tipo:
CWE-416
Utilización después de liberación
Fecha de publicación:
27/05/2026
Última modificación:
24/06/2026
Descripción
*** Pendiente de traducción *** In the Linux kernel, the following vulnerability has been resolved:<br />
<br />
Revert "hwmon: (ibmpex) fix use-after-free in high/low store"<br />
<br />
This reverts commit 6946c726c3f4c36f0f049e6f97e88c510b15f65d.<br />
<br />
Jean Delvare points out that the patch does not completely<br />
fix the reported problem, that it in fact introduces a<br />
(new) race condition, and that it may actually not be needed in<br />
the first place.<br />
<br />
Various AI reviews agree. Specific and relevant AI feedback:<br />
<br />
"<br />
This reordering sets the driver data to NULL before removing the sensor<br />
attributes in the loop below.<br />
<br />
ibmpex_show_sensor() retrieves this driver data via dev_get_drvdata() but<br />
does not check if it is NULL before dereferencing it to access<br />
data->sensors[].<br />
<br />
If a userspace process reads a sensor file (like temp1_input) while this<br />
delete function is running, could it race with the dev_set_drvdata(...,<br />
NULL) call here and crash in ibmpex_show_sensor()?<br />
<br />
Would it be safer to keep the original order where device_remove_file() is<br />
called before clearing the driver data? device_remove_file() should wait<br />
for any active sysfs callbacks to complete, which might already prevent the<br />
use-after-free this patch intends to fix.<br />
"<br />
<br />
Revert the offending patch. If it can be shown that the originally reported<br />
alleged race condition does indeed exist, it can always be re-introduced<br />
with a complete fix.
Impacto
Puntuación base 3.x
7.80
Gravedad 3.x
ALTA
Productos y versiones vulnerables
| CPE | Desde | Hasta |
|---|---|---|
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 5.10.248 (incluyendo) | 5.10.252 (excluyendo) |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 6.1.160 (incluyendo) | 6.1.165 (excluyendo) |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 6.6.120 (incluyendo) | 6.6.128 (excluyendo) |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 6.12.64 (incluyendo) | 6.12.75 (excluyendo) |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 6.18.3 (incluyendo) | 6.18.14 (excluyendo) |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 6.19.1 (incluyendo) | 6.19.4 (excluyendo) |
| cpe:2.3:o:linux:linux_kernel:6.19:-:*:*:*:*:*:* | ||
| cpe:2.3:o:linux:linux_kernel:6.19:rc2:*:*:*:*:*:* | ||
| cpe:2.3:o:linux:linux_kernel:6.19:rc3:*:*:*:*:*:* | ||
| cpe:2.3:o:linux:linux_kernel:6.19:rc4:*:*:*:*:*:* | ||
| cpe:2.3:o:linux:linux_kernel:6.19:rc5:*:*:*:*:*:* | ||
| cpe:2.3:o:linux:linux_kernel:6.19:rc6:*:*:*:*:*:* | ||
| cpe:2.3:o:linux:linux_kernel:6.19:rc7:*:*:*:*:*:* | ||
| cpe:2.3:o:linux:linux_kernel:6.19:rc8:*:*:*:*:*:* |
Para consultar la lista completa de nombres de CPE con productos y versiones, ver esta página
Referencias a soluciones, herramientas e información
- https://git.kernel.org/stable/c/05112ba67c824ab416cd54307c0b50aba9f0047a
- https://git.kernel.org/stable/c/14a38784e09aebc21207dc32fffa05247fc3dd64
- https://git.kernel.org/stable/c/894d9c7aab68fd0c70c78b1d03c8fa589fb0f67d
- https://git.kernel.org/stable/c/8bde3e395a85017f12af2b0ba5c3684f5af9c006
- https://git.kernel.org/stable/c/914b47c9b824d3d74f31c764163edf93302100b1
- https://git.kernel.org/stable/c/efd68429f23fb4015b0ebc2392334059e06fad18
- https://git.kernel.org/stable/c/f448acd86835a650f9ea83460b9ca347d3aafba5



