LiveActive security incident?Get immediate response
CVE Record

CVE-2025-21661: gpio: virtuser: fix missing lookup table cleanups

In the Linux kernel, the following vulnerability has been resolved: gpio: virtuser: fix missing lookup table cleanups When a virtuser device is created via configfs and the probe fails due to an incorrect lookup table, the table is not removed. This prevents subsequent probe attempts from succeeding, even if the issue is corrected, unless the device is released. Additionally, cleanup is also needed in the less likely case of platform_device_register_full() failure. Besides, a consistent memory leak in lookup_table->dev_id was spotted using kmemleak by toggling the live state between 0 and 1 with a correct lookup table. Introduce gpio_virtuser_remove_lookup_table() as the counterpart to the existing gpio_virtuser_make_lookup_table() and call it from all necessary points to ensure proper cleanup.

HighCVSS 7.8Not KEV-listedUpdated
Glexia's TakeAutomated analysishigh

Security readout for executives and security teams

Plain-English summary

A Linux GPIO virtual-user cleanup flaw can leave stale lookup data after failed device setup and leak memory during repeated state changes. This can prevent corrected configurations from working until the device is released. The supplied CVSS rating is 7.8 (high), although the source description primarily documents reliability and resource-cleanup effects.

Executive priority

Prioritize affected systems that actively expose GPIO virtuser configuration, especially shared or sensitive hosts. Patch through normal high-severity kernel maintenance. Systems not using this functionality appear less exposed, but version ambiguity warrants vendor confirmation before deferral.

Technical view

The gpio virtuser driver failed to remove lookup tables after an invalid-table probe failure or platform-device registration failure. It also consistently leaked lookup_table->dev_id when toggling live state. The fix adds gpio_virtuser_remove_lookup_table() and invokes it along all necessary cleanup paths. The supplied vector requires local access and low privileges, without user interaction.

Likely exposure

Exposure requires an affected Linux kernel and use of the GPIO virtuser device through configfs. The bundle flags Linux 6.11, 6.12.10, and 6.13, but its version data is ambiguous and includes an unexplained “0.” Confirm exact affected ranges and distribution backports with the kernel vendor.

Exploitation context

The bundle does not identify this CVE in CISA KEV and provides no evidence of active exploitation or a public exploit. The described trigger is local interaction with a virtuser configfs device. Treat claims of remote or in-the-wild exploitation as unsupported by these sources.

Researcher notes

CWE-401 applies to the reported unreleased memory. Documented effects include stale lookup-table state, failed subsequent probes, and a repeatable dev_id leak. The supplied CVSS claims high confidentiality, integrity, and availability impacts, but the narrative does not explain those broader consequences; further impact claims would require additional evidence.

Mitigation direction

  • Install a vendor kernel containing either referenced stable-kernel fix or an equivalent backport.
  • Check distribution security guidance for precise affected and fixed package versions.
  • Limit access to systems and workflows that configure GPIO virtuser devices through configfs.
  • Avoid repeated live-state toggling until remediation if GPIO virtuser is operationally required.

Validation and detection

  • Inventory kernel versions and identify systems using GPIO virtuser devices through configfs.
  • Verify the installed kernel includes either cited fix commit or a vendor-confirmed equivalent backport.
  • Confirm failed probes no longer leave lookup tables that block corrected probe attempts.
  • Monitor memory behavior during authorized live-state cycling to confirm the reported leak is resolved.
Prepared
Confidence
medium
Sources
4

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-401: 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-2025-21661 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
High
CVSS
7.8 (3.1)
Known Exploited
No
Published

Vector: CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/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.

2CVSS vectors
3Timeline events
1ADP providers
3Source links

SSVC decision data

CISA-ADPCISA Coordinator
Timestamp
Version
2.0.3
Exploitation: noneAutomatable: noTechnical Impact: partial

CVSS vector scores

2 official scores

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
7.8CVSS 3.1HighCVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H1.85.9Linux
5.5CVSS 3.1MediumCVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H1.83.6CISA-ADP

Vulnerability scoring details

Base CVSS 3.1 score

7.8High
CVSS 3.1 vector shape for CVE-2025-21661Attack VectorAttack ComplexityPrivileges RequiredUser InteractionScopeConfidentiality ImpactIntegrity ImpactAvailability Impact

Vector: CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/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

Vulnerability timeline

Timeline events are normalized from CVE metadata, CNA source timelines, ADP timelines, and KEV metadata when present.

  1. CVE reservedCVE Program

    The CVE ID was reserved by the assigning CNA.

  2. CVE publishedCVE Program

    The CVE record was published.

  3. CVE updatedCVE Program

    The CVE record metadata indicates this as the latest update time.

ADP provider summaries

CISA-ADPCISA ADP Vulnrichment
cvssV3_1other:ssvc
Affected products

Products and packages named in the record

VendorProductVersion / packageStatus
LinuxLinux91581c4b3f29e2e22aeb1a62e842d529ca638b2d, 91581c4b3f29e2e22aeb1a62e842d529ca638b2dunaffected
LinuxLinux6.11, 0, 6.12.10, 6.13affected
Weakness

CWE details

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

CWE-401 · source CWE mapping

Missing Release of Memory after Effective Lifetime

Missing Release of Memory after Effective Lifetime represents a recurring weakness pattern that can create exploitable paths when design, validation, or implementation controls are missing.