CVE-2024-35824: misc: lis3lv02d_i2c: Fix regulators getting en-/dis-abled twice on suspend/resume
In the Linux kernel, the following vulnerability has been resolved:
misc: lis3lv02d_i2c: Fix regulators getting en-/dis-abled twice on suspend/resume
When not configured for wakeup lis3lv02d_i2c_suspend() will call
lis3lv02d_poweroff() even if the device has already been turned off
by the runtime-suspend handler and if configured for wakeup and
the device is runtime-suspended at this point then it is not turned
back on to serve as a wakeup source.
Before commit b1b9f7a49440 ("misc: lis3lv02d_i2c: Add missing setting
of the reg_ctrl callback"), lis3lv02d_poweroff() failed to disable
the regulators which as a side effect made calling poweroff() twice ok.
Now that poweroff() correctly disables the regulators, doing this twice
triggers a WARN() in the regulator core:
unbalanced disables for regulator-dummy
WARNING: CPU: 1 PID: 92 at drivers/regulator/core.c:2999 _regulator_disable
...
Fix lis3lv02d_i2c_suspend() to not call poweroff() a second time if
already runtime-suspended and add a poweron() call when necessary to
make wakeup work.
lis3lv02d_i2c_resume() has similar issues, with an added weirness that
it always powers on the device if it is runtime suspended, after which
the first runtime-resume will call poweron() again, causing the enabled
count for the regulator to increase by 1 every suspend/resume. These
unbalanced regulator_enable() calls cause the regulator to never
be turned off and trigger the following WARN() on driver unbind:
WARNING: CPU: 1 PID: 1724 at drivers/regulator/core.c:2396 _regulator_put
Fix this by making lis3lv02d_i2c_resume() mirror the new suspend().
Security readout for executives and security teams
Plain-English summary
This is a Linux kernel availability issue in a sensor driver’s suspend and resume handling. Under affected conditions, the driver can imbalance power regulator enable and disable calls, triggering kernel warnings and potentially disrupting system availability. It is not described as a data theft or privilege escalation issue in the supplied sources.
Executive priority
Treat this as a targeted availability maintenance issue, not an emergency internet-facing exposure. Patch through normal kernel update channels, prioritizing fleets where suspend/resume reliability matters or where affected sensor hardware is present.
Technical view
CVE-2024-35824 affects the Linux lis3lv02d_i2c driver. Runtime suspend and system suspend/resume paths could call poweroff or poweron twice, creating unbalanced regulator state. The kernel fix changes suspend and resume behavior so runtime-suspended devices are handled correctly and wakeup behavior is preserved.
Likely exposure
Exposure appears limited to Linux systems using the lis3lv02d_i2c driver and affected kernel code paths. The supplied bundle does not provide complete distribution-specific affected ranges, so vulnerability managers should verify kernel versions and backported fixes with their Linux vendor.
Exploitation context
The CVSS vector is local, low complexity, low privilege, no user interaction, with high availability impact. The bundle marks KEV as false and provides no cited evidence of active exploitation or public weaponization.
Researcher notes
The sources describe a correctness bug in regulator lifecycle handling after an earlier callback fix changed poweroff behavior. Evidence is strongest for root cause and upstream remediation. Distribution impact, exploitability beyond local availability disruption, and exact affected package ranges require vendor confirmation.
Mitigation direction
Apply Linux vendor kernel updates containing the referenced stable fixes.
Check distribution advisories for exact affected and fixed package versions.
Prioritize systems using lis3lv02d_i2c or related accelerometer hardware.
If updates are unavailable, follow vendor guidance for temporary risk reduction.
Track kernel warnings involving regulator enable or disable imbalance.
Validation and detection
Inventory Linux kernel versions across laptops, embedded systems, and appliances.
Confirm whether lis3lv02d_i2c is built, loaded, or used on target systems.
Compare installed kernels with vendor advisories and stable fix backports.
Review logs for regulator WARN messages during suspend, resume, or driver unbind.
Validate remediation by retesting suspend and resume on representative hardware.
Generated from the cited source records. This long-tail analysis has not been individually reviewed by a named human.
Potential ATT&CK relevance
Conservative CVE-to-ATT&CK context
These mappings and lookup hints may be relevant to the vulnerability behavior, CWE, affected product, or exposure path. Glexia-inferred context is not an official MITRE, ATT&CK, CWE, or CVE Program mapping.
ATT&CK lookup starting points
Use these exact CWE pages and searches to review the Glexia ATT&CK library from this CVE's weakness and description context.
cve · low confidence lookup
CVE-2024-35824 mapping review
Open the CVE-to-ATT&CK bridge for reviewed, inferred, or future official mappings tied to this CVE.
These fields come from the CVE record and ADP containers, not from Glexia's Take. They preserve time-varying source decisions such as CISA SSVC, KEV status, CVSS metrics, and provider references.
We collect every scored CVSS vector available in the official CNA and ADP containers. When more than one version is present, the table keeps the source vectors side by side instead of collapsing them into the highest score.