CVE-2026-45914 PUBLISHED

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

Assigner: Linux
Reserved: 13.05.2026 Published: 27.05.2026 Updated: 27.05.2026

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.

Product Status

Vendor Linux
Product Linux
Versions Default: unaffected
  • affected from 3ce9b7ae9d4d148672b35147aaf7987a4f82bb94 to 05112ba67c824ab416cd54307c0b50aba9f0047a (excl.)
  • affected from 533ead425f8109b02fecc7e72d612b8898ec347a to efd68429f23fb4015b0ebc2392334059e06fad18 (excl.)
  • affected from fa37adcf1d564ef58b9dfb01b6c36d35c5294bad to f448acd86835a650f9ea83460b9ca347d3aafba5 (excl.)
  • affected from 68d62e5bebbd118b763e8bb210d5cf2198ef450c to 914b47c9b824d3d74f31c764163edf93302100b1 (excl.)
  • affected from 5aa2139201667c1f644601e4529c4acd6bf8db5a to 14a38784e09aebc21207dc32fffa05247fc3dd64 (excl.)
  • affected from 6946c726c3f4c36f0f049e6f97e88c510b15f65d to 894d9c7aab68fd0c70c78b1d03c8fa589fb0f67d (excl.)
  • affected from 6946c726c3f4c36f0f049e6f97e88c510b15f65d to 8bde3e395a85017f12af2b0ba5c3684f5af9c006 (excl.)
  • affected from 5.10.248 to 5.10.252 (excl.)
  • affected from 6.1.160 to 6.1.165 (excl.)
  • affected from 6.6.120 to 6.6.128 (excl.)
  • affected from 6.12.64 to 6.12.75 (excl.)
  • affected from 6.18.3 to 6.18.14 (excl.)
Vendor Linux
Product Linux
Versions Default: affected
  • Version 6.19 is affected
  • unaffected from 0 to 6.19 (excl.)
  • unaffected from 5.10.252 to 5.10.* (incl.)
  • unaffected from 6.1.165 to 6.1.* (incl.)
  • unaffected from 6.6.128 to 6.6.* (incl.)
  • unaffected from 6.12.75 to 6.12.* (incl.)
  • unaffected from 6.18.14 to 6.18.* (incl.)
  • unaffected from 6.19.4 to 6.19.* (incl.)
  • unaffected from 7.0 to * (incl.)

References