CVE-2026-45914

Revert "hwmon: (ibmpex) fix use-after-free in high/low store"

State
Published
Severity
Not scored
Published
May 27, 2026
Updated
May 27, 2026
Reserved
May 13, 2026

Read the record on cve.org

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.

Scores

The record has no CVSS score.

Weaknesses

The record names no weakness.

Affected Products

ProductVersions
LinuxLinux
  • 3ce9b7ae9d4d148672b35147aaf7987a4f82bb94 to before 05112ba67c824ab416cd54307c0b50aba9f0047aAffected
  • 533ead425f8109b02fecc7e72d612b8898ec347a to before efd68429f23fb4015b0ebc2392334059e06fad18Affected
  • fa37adcf1d564ef58b9dfb01b6c36d35c5294bad to before f448acd86835a650f9ea83460b9ca347d3aafba5Affected
  • 68d62e5bebbd118b763e8bb210d5cf2198ef450c to before 914b47c9b824d3d74f31c764163edf93302100b1Affected
  • 5aa2139201667c1f644601e4529c4acd6bf8db5a to before 14a38784e09aebc21207dc32fffa05247fc3dd64Affected
  • 6946c726c3f4c36f0f049e6f97e88c510b15f65d to before 894d9c7aab68fd0c70c78b1d03c8fa589fb0f67dAffected
  • 6946c726c3f4c36f0f049e6f97e88c510b15f65d to before 8bde3e395a85017f12af2b0ba5c3684f5af9c006Affected
  • 5.10.248 to before 5.10.252Affected
  • 6.1.160 to before 6.1.165Affected
  • 6.6.120 to before 6.6.128Affected
  • 6.12.64 to before 6.12.75Affected
  • 6.18.3 to before 6.18.14Affected
LinuxLinux
  • 6.19Affected
  • before 6.19Not affected
  • 5.10.252 through 5.10.*Not affected
  • 6.1.165 through 6.1.*Not affected
  • 6.6.128 through 6.6.*Not affected
  • 6.12.75 through 6.12.*Not affected
  • 6.18.14 through 6.18.*Not affected
  • 6.19.4 through 6.19.*Not affected
  • 7.0 and laterNot affected

References

Every record here comes from the CVE Program’s CVE List. © 1999–2026 The MITRE Corporation. CVE is a registered trademark of The MITRE Corporation. The records are reproduced under the CVE Program terms of use.