CVE-2026-31732: gpio: Fix resource leaks on errors in gpiochip_add_data_with_key()
In the Linux kernel, the following vulnerability has been resolved:
gpio: Fix resource leaks on errors in gpiochip_add_data_with_key()
Since commit aab5c6f20023 ("gpio: set device type for GPIO chips"),
`gdev->dev.release` is unset. As a result, the reference count to
`gdev->dev` isn't dropped on the error handling paths.
Drop the reference on errors.
Also reorder the instructions to make the error handling simpler.
Now gpiochip_add_data_with_key() roughly looks like:
>>> Some memory allocation. Go to ERR ZONE 1 on errors.
>>> device_initialize().
gpiodev_release() takes over the responsibility for freeing the
resources of `gdev->dev`. The subsequent error handling paths
shouldn't go through ERR ZONE 1 again which leads to double free.
>>> Some initialization mainly on `gdev`.
>>> The rest of initialization. Go to ERR ZONE 2 on errors.
>>> Chip registration success and exit.
>>> ERR ZONE 2. gpio_device_put() and exit.
>>> ERR ZONE 1.
Security readout for executives and security teams
Plain-English summary
CVE-2026-31732 is a Linux kernel GPIO bug involving resource leaks during failed device registration. The public record does not provide CVSS severity or evidence of exploitation. Business urgency is mainly for organizations running affected Linux kernels, especially systems where GPIO hardware support matters, such as embedded or hardware-control environments.
Executive priority
Track and patch through normal kernel maintenance unless your environment relies heavily on GPIO-enabled Linux systems. For embedded, industrial, or custom-kernel deployments, raise priority because vendor patch availability and testing cycles may take longer.
Technical view
The issue is in gpiochip_add_data_with_key(). Since commit aab5c6f20023, gdev->dev.release was unset, so error paths did not drop the reference to gdev->dev. The kernel fix drops references on errors and reorders initialization to avoid double-free paths after device_initialize().
Likely exposure
Exposure is limited to Linux systems running affected kernel versions or downstream builds containing the faulty GPIO code. The bundle lists Linux kernel versions including 6.9, 6.12.95, 6.18.22, 6.19.12, and 7.0 as affected, but downstream distribution backports may differ.
Exploitation context
No KEV listing or cited source indicates active exploitation. The described condition occurs on error-handling paths during GPIO chip registration, so practical impact depends on kernel configuration, drivers, hardware, and whether registration failures can occur.
Researcher notes
This is an error-path resource lifecycle issue, not a documented remote exploit. The available sources describe a reference leak and cleanup reordering around gpiodev_release(), gpio_device_put(), and device_initialize(). Severity, CWE, and practical exploitability are not provided in the source bundle.
Mitigation direction
Check Linux vendor advisories for the fixed kernel package or backport status.
Update to a kernel containing one of the referenced stable fixes when available.
Prioritize systems using GPIO-dependent hardware, embedded platforms, or custom kernel builds.
If no vendor package exists, assess whether referenced stable commits apply to your kernel tree.
Validation and detection
Inventory Linux kernel versions and downstream package build identifiers.
Review kernel changelogs for the referenced stable commit IDs.
Identify systems with GPIO drivers or hardware-control workloads enabled.
Check vendor security notices for CVE-2026-31732 status and package mapping.
Monitor affected systems for GPIO registration failures and resource exhaustion symptoms.
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-2026-31732 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.
0CVSS vectors
3Timeline events
0ADP providers
5Source links
Vulnerability timeline
Timeline events are normalized from CVE metadata, CNA source timelines, ADP timelines, and KEV metadata when present.
CVE reservedCVE Program
The CVE ID was reserved by the assigning CNA.
CVE publishedCVE Program
The CVE record was published.
May 1, 2026, 14:14 UTC (UTC+00:00)
CVE updatedCVE Program
The CVE record metadata indicates this as the latest update time.