CVE-2026-45914
Description
In the Linux kernel, the following vulnerability has been resolved: Revert "hwmon: (ibmpex) fix use-after-free in high/low store" This reverts commit 6946c726c3f4c36f0f049e6f97e88c510b15f65d. Jean Delvare points out that the patch does not completely fix the reported problem, that it in fact introduces a (new) race condition, and that it may actually not be needed in the first place. Various AI reviews agree. Specific and relevant AI feedback: " This reordering sets the driver data to NULL before removing the sensor attributes in the loop below. ibmpex_show_sensor() retrieves this driver data via dev_get_drvdata() but does not check if it is NULL before dereferencing it to access data->sensors[]. If a userspace process reads a sensor file (like temp1_input) while this delete function is running, could it race with the dev_set_drvdata(..., NULL) call here and crash in ibmpex_show_sensor()? Would it be safer to keep the original order where device_remove_file() is called before clearing the driver data? device_remove_file() should wait for any active sysfs callbacks to complete, which might already prevent the use-after-free this patch intends to fix. " Revert the offending patch. If it can be shown that the originally reported alleged race condition does indeed exist, it can always be re-introduced with a complete fix.
CVSS Details
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H Threat Intelligence
Weaknesses 1
Affected Products 14
| Vendor | Product | Version | Range |
|---|---|---|---|
| linux | linux_kernel | * | ≥5.10.248 – <5.10.252 |
| linux | linux_kernel | * | ≥6.1.160 – <6.1.165 |
| linux | linux_kernel | * | ≥6.6.120 – <6.6.128 |
| linux | linux_kernel | * | ≥6.12.64 – <6.12.75 |
| linux | linux_kernel | * | ≥6.18.3 – <6.18.14 |
| linux | linux_kernel | * | ≥6.19.1 – <6.19.4 |
| linux | linux_kernel | 6.19 | any |
| linux | linux_kernel | 6.19 | any |
| linux | linux_kernel | 6.19 | any |
| linux | linux_kernel | 6.19 | any |
| linux | linux_kernel | 6.19 | any |
| linux | linux_kernel | 6.19 | any |
| linux | linux_kernel | 6.19 | any |
| linux | linux_kernel | 6.19 | any |
References 7
- git.kernel.org https://git.kernel.org/stable/c/05112ba67c824ab416cd54307c0b50aba9f0047a
- git.kernel.org https://git.kernel.org/stable/c/14a38784e09aebc21207dc32fffa05247fc3dd64
- git.kernel.org https://git.kernel.org/stable/c/894d9c7aab68fd0c70c78b1d03c8fa589fb0f67d
- git.kernel.org https://git.kernel.org/stable/c/8bde3e395a85017f12af2b0ba5c3684f5af9c006
- git.kernel.org https://git.kernel.org/stable/c/914b47c9b824d3d74f31c764163edf93302100b1
- git.kernel.org https://git.kernel.org/stable/c/efd68429f23fb4015b0ebc2392334059e06fad18
- git.kernel.org https://git.kernel.org/stable/c/f448acd86835a650f9ea83460b9ca347d3aafba5
Remediation
- git.kernel.org https://git.kernel.org/stable/c/05112ba67c824ab416cd54307c0b50aba9f0047a
- git.kernel.org https://git.kernel.org/stable/c/14a38784e09aebc21207dc32fffa05247fc3dd64
- git.kernel.org https://git.kernel.org/stable/c/894d9c7aab68fd0c70c78b1d03c8fa589fb0f67d
- git.kernel.org https://git.kernel.org/stable/c/8bde3e395a85017f12af2b0ba5c3684f5af9c006
- git.kernel.org https://git.kernel.org/stable/c/914b47c9b824d3d74f31c764163edf93302100b1
- git.kernel.org https://git.kernel.org/stable/c/efd68429f23fb4015b0ebc2392334059e06fad18
- git.kernel.org https://git.kernel.org/stable/c/f448acd86835a650f9ea83460b9ca347d3aafba5