LiveActive security incident?Get immediate response
CVE Record

CVE-2022-50371: led: qcom-lpg: Fix sleeping in atomic

In the Linux kernel, the following vulnerability has been resolved: led: qcom-lpg: Fix sleeping in atomic lpg_brighness_set() function can sleep, while led's brightness_set() callback must be non-blocking. Change LPG driver to use brightness_set_blocking() instead. BUG: sleeping function called from invalid context at kernel/locking/mutex.c:580 in_atomic(): 1, irqs_disabled(): 0, non_block: 0, pid: 0, name: swapper/0 preempt_count: 101, expected: 0 INFO: lockdep is turned off. CPU: 0 PID: 0 Comm: swapper/0 Tainted: G W 6.1.0-rc1-00014-gbe99b089c6fc-dirty #85 Hardware name: Qualcomm Technologies, Inc. DB820c (DT) Call trace: dump_backtrace.part.0+0xe4/0xf0 show_stack+0x18/0x40 dump_stack_lvl+0x88/0xb4 dump_stack+0x18/0x34 __might_resched+0x170/0x254 __might_sleep+0x48/0x9c __mutex_lock+0x4c/0x400 mutex_lock_nested+0x2c/0x40 lpg_brightness_single_set+0x40/0x90 led_set_brightness_nosleep+0x34/0x60 led_heartbeat_function+0x80/0x170 call_timer_fn+0xb8/0x340 __run_timers.part.0+0x20c/0x254 run_timer_softirq+0x3c/0x7c _stext+0x14c/0x578 ____do_softirq+0x10/0x20 call_on_irq_stack+0x2c/0x5c do_softirq_own_stack+0x1c/0x30 __irq_exit_rcu+0x164/0x170 irq_exit_rcu+0x10/0x40 el1_interrupt+0x38/0x50 el1h_64_irq_handler+0x18/0x2c el1h_64_irq+0x64/0x68 cpuidle_enter_state+0xc8/0x380 cpuidle_enter+0x38/0x50 do_idle+0x244/0x2d0 cpu_startup_entry+0x24/0x30 rest_init+0x128/0x1a0 arch_post_acpi_subsys_init+0x0/0x18 start_kernel+0x6f4/0x734 __primary_switched+0xbc/0xc4

MediumCVSS 5.5Not KEV-listedUpdated
Glexia's TakeAutomated analysismoderate

Security readout for executives and security teams

Plain-English summary

This is a Linux kernel availability bug in the Qualcomm LPG LED driver. A local, low-privileged user context is required by the CVSS vector. The issue can put sleeping code in an atomic context, which may destabilize the system. No source in the bundle shows active exploitation.

Executive priority

Handle through normal kernel patch management, with higher priority for Qualcomm-based Linux systems where local users or untrusted workloads are present. This is not evidenced as internet-exploited, but availability impact can matter for embedded, kiosk, mobile, or appliance-style deployments.

Technical view

The qcom-lpg LED driver used a brightness_set callback that could sleep, although that callback must be non-blocking. The upstream fix changes the driver to use brightness_set_blocking. The reported trace shows mutex locking during a timer/softirq path, consistent with CWE-667 locking misuse and availability impact.

Likely exposure

Exposure is most likely on Linux systems running affected kernels with the qcom-lpg LED driver present or loaded, particularly Qualcomm-based platforms. The bundle lists Linux kernel versions or branches including 5.19, 6.0.16, 6.1.2, and 6.2 as affected, but does not fully define downstream vendor package status.

Exploitation context

The CVSS vector is local, low complexity, low privileges, no user interaction, and high availability impact. KEV is false, and the provided sources do not cite active exploitation. Treat this as a local denial-of-service risk unless vendor advisories provide more specific exploit evidence.

Researcher notes

The key behavioral flaw is blocking work in a non-blocking LED brightness callback. The fix direction is explicit in the source: use brightness_set_blocking. Evidence is strongest for the upstream kernel code path; downstream affected package ranges and exploitability details require vendor-specific confirmation.

Mitigation direction

  • Update affected Linux kernels to a release containing the referenced stable qcom-lpg fix.
  • Check distribution or device vendor advisories for backported kernel packages.
  • Prioritize Qualcomm-platform systems that expose or load the qcom-lpg LED driver.
  • If patching is delayed, review vendor guidance for driver-specific risk reduction.

Validation and detection

  • Inventory kernel versions and compare them with vendor fixed releases or backport notes.
  • Confirm whether the qcom-lpg LED driver is built, present, or loaded on target systems.
  • Review kernel logs for sleeping-in-atomic warnings involving lpg brightness paths.
  • Track the three referenced stable kernel commits in downstream package changelogs.
Prepared
Confidence
high
Sources
5

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.

cwe · low confidence lookup

CWE-667: Exact CWE lookup

Use the exact CWE identifier as the starting point before reviewing related ATT&CK behavior. Open the exact CWE lookup page first, then review the ATT&CK searches from that MITRE weakness context. This is a Glexia lookup hint, not an official ATT&CK mapping.

Open ATT&CK lookup
cve · low confidence lookup

CVE-2022-50371 mapping review

Open the CVE-to-ATT&CK bridge for reviewed, inferred, or future official mappings tied to this CVE.

Open ATT&CK lookup
Vulnerability profileCVE Program record
Severity
Medium
CVSS
5.5 (3.1)
Known Exploited
No
Published

Vector: CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H

Official CVE source material

CNA and ADP enrichment extracted from CVE v5

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.

1CVSS vectors
0Timeline events
0ADP providers
4Source links

CVSS vector scores

1 official score

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.

ScoreVersionSeverityVectorExploitImpactSource
5.5CVSS 3.1MediumCVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H1.83.6Primary CVE score

Vulnerability scoring details

Base CVSS 3.1 score

5.5Medium
CVSS 3.1 vector shape for CVE-2022-50371Attack VectorAttack ComplexityPrivileges RequiredUser InteractionScopeConfidentiality ImpactIntegrity ImpactAvailability Impact

Vector: CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H

Attack Vector
NetworkAdjacentLocalPhysical
Attack Complexity
LowHigh
Privileges Required
NoneLowHigh
User Interaction
NoneRequired
Scope
ChangedUnchanged
Confidentiality Impact
HighLowNone
Integrity Impact
HighLowNone
Availability Impact
HighLowNone
Affected products

Products and packages named in the record

VendorProductVersion / packageStatus
LinuxLinux24e2d05d1b68981f22c984c766fabc5a93c83dba, 24e2d05d1b68981f22c984c766fabc5a93c83dba, 24e2d05d1b68981f22c984c766fabc5a93c83dbaunaffected
LinuxLinux5.19, 0, 6.0.16, 6.1.2, 6.2affected
Weakness

CWE details

CWE links open Glexia weakness intelligence pages with official CWE context, developer remediation guidance, and related CVE mappings.

CWE-667 · source CWE mapping

Improper Locking

Improper Locking represents a recurring weakness pattern that can create exploitable paths when design, validation, or implementation controls are missing.