Skip to content
CVE PROGRAM SOURCE RECORD4.7 Medium

CVE-2023-53310

power: supply: axp288_fuel_gauge: Fix external_power_changed race

Description

In the Linux kernel, the following vulnerability has been resolved: power: supply: axp288_fuel_gauge: Fix external_power_changed race fuel_gauge_external_power_changed() dereferences info->bat, which gets sets in axp288_fuel_gauge_probe() like this: info->bat = devm_power_supply_register(dev, &fuel_gauge_desc, &psy_cfg); As soon as devm_power_supply_register() has called device_add() the external_power_changed callback can get called. So there is a window where fuel_gauge_external_power_changed() may get called while info->bat has not been set yet leading to a NULL pointer dereference. Fixing this is easy. The external_power_changed callback gets passed the power_supply which will eventually get stored in info->bat, so fuel_gauge_external_power_changed() can simply directly use the passed in psy argument which is always valid.

Affected products

Version statuses are supplied by the assigning organization. Consult the original record for detailed ranges and platform conditions.

Linux Linux

Default version status: unaffected

  • 30abb3d07929137bf72327560e1595508a692c4e to < 0456b912121e45b3ef54abe3135e5dcb541f956caffected
  • 30abb3d07929137bf72327560e1595508a692c4e to < a636c6ba9ce898207f283271cb28511206ab739baffected
  • 30abb3d07929137bf72327560e1595508a692c4e to < f8319774d6f1567d6e7d03653174ab0c82c5c66daffected

Linux Linux

Default version status: affected

  • 5.18affected
  • 0 to < 5.18unaffected
  • 6.1.31 to ≤ 6.1.*unaffected
  • 6.3.5 to ≤ 6.3.*unaffected
  • 6.4 to ≤ *unaffected

References