CVE-2026-64493 in Linux
Summary
by MITRE • 07/25/2026
In the Linux kernel, the following vulnerability has been resolved:
iio: pressure: mpl115: fix runtime PM leak on read error
mpl115_read_raw() takes a runtime PM reference with pm_runtime_get_sync() before reading the processed pressure or raw temperature, but on the read error path it returns without calling pm_runtime_put_autosuspend(). Each failed read therefore leaks a runtime PM reference and prevents the device from autosuspending.
Drop the reference before checking the return value so both the success and error paths are balanced.
If you want to get best quality of vulnerability data, you may have to visit VulDB.
Analysis
by VulDB Data Team • 07/25/2026
The vulnerability resides in the linux kernel's industrial io subsystem specifically within the mpl115 pressure sensor driver implementation. This issue represents a classic resource management flaw that undermines the system's power management capabilities through improper runtime power management reference handling. The mpl115 driver implements runtime power management to conserve energy by automatically suspending unused hardware components, but a critical oversight in error path handling creates a persistent reference leak.
The technical flaw manifests in the mpl115_read_raw() function where the driver acquires a runtime power management reference using pm_runtime_get_sync() prior to performing sensor data reads. This reference acquisition is essential for maintaining device availability during active operations and preventing premature suspension. However, when read operations encounter errors, the function fails to release this acquired reference through pm_runtime_put_autosuspend() before returning control flow. This creates a resource leak where each failed read operation permanently holds a runtime PM reference.
The operational impact of this vulnerability extends beyond simple resource consumption to potentially catastrophic system power management failure. As each error path leaks a runtime PM reference, the cumulative effect prevents the device from entering its intended autosuspension state. This results in continuous power consumption even when the sensor is not actively being read, leading to unnecessary battery drain on mobile devices or increased power usage in embedded systems. The leak compounds over time as multiple failed reads occur during normal operation, eventually exhausting available runtime PM references and potentially causing system instability.
This vulnerability aligns with CWE-404, which addresses improper resource management where acquired resources are not properly released. The issue also relates to ATT&CK technique T1547.001 for registry run keys and T1566.002 for spearphishing attachments, though these apply more broadly to system compromise scenarios rather than direct power management exploitation. The fix implemented involves restructuring the function's reference handling to ensure balanced acquisition and release of runtime PM references regardless of execution path outcomes. By dropping the reference before checking return values, both success and error paths maintain proper resource accounting, preventing the cumulative reference leak that would otherwise prevent device autosuspension.
The resolution demonstrates proper defensive programming practices through balanced resource management where every pm_runtime_get_sync() call must have a corresponding pm_runtime_put_autosuspend() call in all execution branches. This approach aligns with kernel development best practices for runtime power management and prevents the escalation of minor read errors into significant power consumption issues that could affect device longevity and user experience. The fix ensures that sensor operations maintain proper power state transitions while preserving system reliability under error conditions.