CVE-2024-35824: misc: lis3lv02d_i2c: Fix regulators getting en-/dis-abled twice on suspend/resume

Published May 17, 2024
·
Updated

In the Linux kernel, the following vulnerability has been resolved:

misc: lis3lv02di2c: Fix regulators getting en-/dis-abled twice on suspend/resume

The Linux kernel CVE team has assigned CVE-2024-35824 to this issue.

Upstream advisory: https://lore.kernel.org/linux-cve-announce/2024051737-CVE-2024-35824-7302@gregkh/T

Other sources

In the Linux kernel, the following vulnerability has been resolved:

misc: lis3lv02di2c: Fix regulators getting en-/dis-abled twice on suspend/resume

When not configured for wakeup lis3lv02di2csuspend() will call lis3lv02dpoweroff() 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: lis3lv02di2c: Add missing setting of the regctrl callback"), lis3lv02dpoweroff() 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 regulatordisable ...

Fix lis3lv02di2csuspend() to not call poweroff() a second time if already runtime-suspended and add a poweron() call when necessary to make wakeup work.

lis3lv02di2cresume() 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 regulatorenable() 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 regulatorput

Fix this by making lis3lv02di2cresume() mirror the new suspend().

NVD

Linux Kernel is vulnerable to a denial of service, caused by a flaw related to regulators getting en-/dis-abled twice on suspend/resume. By sending a specially crafted request, a local authenticated attacker could exploit this vulnerability to cause a denial of service condition.

IBM

Affected Software

17 affected componentsFixes available
IBM Security Verify Governance<=ISVG 10.0.2
IBM Security Verify Governance, Identity Manager Software Stack<=ISVG 10.0.2
IBM Security Verify Governance, Identity Manager Virtual Appliance<=ISVG 10.0.2
IBM Security Verify Governance Identity Manager Container<=ISVG 10.0.2
redhat/kernel<6.1.84
6.1.84
redhat/kernel<6.6.24
6.6.24
redhat/kernel<6.7.12
6.7.12
Linux Linux kernel>=6.1.77<6.1.84
Linux Linux kernel>=6.6.16<6.6.24
Linux Linux kernel>=6.7.4<6.7.12
Linux Linux kernel=6.8-rc1
Linux Linux kernel=6.8-rc2
Linux Linux kernel=6.8-rc3
Linux Linux kernel=6.8-rc4
Linux Linux kernel=6.8-rc5
Linux Linux kernel=6.8-rc6
Linux Linux kernel=6.8-rc7

Event History

May 17, 2024
CVE Published
via MITRE·01:27 PM
Data Sourced
via MITRE·01:27 PM
Description
Data Sourced
via NVD·02:15 PM
RemedyDescriptionSeverityAffected Software
Data Sourced
via Red Hat·11:15 PM
DescriptionSeverityAffected Software

Parent advisories

This vulnerability appears in the following advisories.

Free Weekly Intel

Don't miss critical vulnerabilities

Join thousands of security professionals who receive our weekly digest of trending CVEs, zero-days, and exploited vulnerabilities.

No spam. Unsubscribe anytime.

Frequently Asked Questions

1

What is the severity of CVE-2024-35824?

CVE-2024-35824 has been characterized as a moderate vulnerability in the Linux kernel.

2

How do I fix CVE-2024-35824?

To resolve CVE-2024-35824, upgrade the kernel to version 6.1.84, 6.6.24, or 6.7.12 as recommended by Red Hat.

3

Which systems are affected by CVE-2024-35824?

CVE-2024-35824 affects specific versions of the Linux kernel and IBM Security Verify Governance products, up to ISVG 10.0.2.

4

What components of the Linux kernel does CVE-2024-35824 involve?

CVE-2024-35824 involves the lis3lv02d_i2c driver associated with regulator management during suspend/resume cycles.

5

Is there any known exploitation of CVE-2024-35824?

As of now, no specific exploitation reports for CVE-2024-35824 have been documented.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203