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

gpio: pca953x: fix pca953x_irq_bus_sync_unlock regmap lock

Locking is disabled in the regmap config as this driver uses its own
lock. This means that all calls to regmap functions (read or write) must
hold the i2c_lock. The function pca953x_irq_bus_sync_unlock() did not do
this, and it was therefore possible that multiple threads could cause an
incorrect register to be read/written.

A previous patch partly fixed this, but only protected the write to the
interrupt mask register, and not the read from the direction register.
Published: 2026-08-22
Score: 7.8 High
EPSS: < 1% Very Low
KEV: No
Impact: Race condition in the PCA953X GPIO driver that can corrupt register values
Action: Apply kernel patch
AI Analysis

Impact

The PCA953X driver in the Linux kernel disables the regmap locking mechanism because the driver manages its own lock. When the function pca953x_irq_bus_sync_unlock() performs a regmap read or write, it does not acquire the i2c_lock that protects the bus. The race between concurrent kernel threads could therefore cause an incorrect direction or interrupt mask register to be read or written, leading to incorrect GPIO configuration. The resulting corruption can affect hardware operation or cause a denial of service for processes that rely on accurate GPIO states.

Affected Systems

All Linux kernel builds that include the PCA953X GPIO driver and that have not incorporated the recent patch adding missing i2c_lock protection are potentially affected. The vulnerability applies to any distribution or custom kernel derived from the up‑stream source before the commit was applied; no vendor‑specific or version information was supplied. The impact therefore is broad within the Linux ecosystem.

Risk and Exploitability

The CVSS score of 7.8 indicates high severity, and the EPSS score of < 1% suggests a low likelihood of exploitation. The flaw requires concurrent kernel thread access and local or kernel privileges (inferred from the need to race on the kernel bus), making it a local concurrency issue rather than a remote code execution vulnerability. It is not listed in the CISA KEV catalog. An attacker with local access could potentially trigger the race and corrupt register state, causing unpredictable hardware behavior or denial of service. No public exploits have been reported.

Generated by OpenCVE AI on August 25, 2026 at 18:26 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Apply a kernel update that includes the commit adding i2c_lock protection around all regmap accesses in the PCA953X driver.
  • If an update is unavailable, modify the driver to acquire i2c_lock before every regmap read or write in pca953x_irq_bus_sync_unlock() and similar functions, or serialize accesses from user space.
  • Disable any regmap locking options in the kernel configuration that are incompatible with the PCA953X driver and ensure i2c_lock handling is consistent in custom driver changes.

Generated by OpenCVE AI on August 25, 2026 at 18:26 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Tue, 25 Aug 2026 15:00:00 +0000

Type Values Removed Values Added
Weaknesses CWE-368

Tue, 25 Aug 2026 12:15:00 +0000


Tue, 25 Aug 2026 09:45:00 +0000

Type Values Removed Values Added
Weaknesses CWE-368

Tue, 25 Aug 2026 08:45:00 +0000

Type Values Removed Values Added
Weaknesses CWE-362

Tue, 25 Aug 2026 06:00:00 +0000

Type Values Removed Values Added
Metrics cvssV3_1

{'score': 7.8, 'vector': 'CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H'}


Sat, 22 Aug 2026 19:00:00 +0000

Type Values Removed Values Added
Weaknesses CWE-362

Sat, 22 Aug 2026 15:45:00 +0000

Type Values Removed Values Added
Description In the Linux kernel, the following vulnerability has been resolved: gpio: pca953x: fix pca953x_irq_bus_sync_unlock regmap lock Locking is disabled in the regmap config as this driver uses its own lock. This means that all calls to regmap functions (read or write) must hold the i2c_lock. The function pca953x_irq_bus_sync_unlock() did not do this, and it was therefore possible that multiple threads could cause an incorrect register to be read/written. A previous patch partly fixed this, but only protected the write to the interrupt mask register, and not the read from the direction register.
Title gpio: pca953x: fix pca953x_irq_bus_sync_unlock regmap lock
First Time appeared Linux
Linux linux Kernel
CPEs cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
Vendors & Products Linux
Linux linux Kernel
References

Subscriptions

Linux Linux Kernel
cve-icon MITRE

Status: PUBLISHED

Assigner: Linux

Published:

Updated: 2026-08-25T05:42:11.965Z

Reserved: 2026-08-15T05:44:03.930Z

Link: CVE-2026-74733

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-08-22T16:16:48.463

Modified: 2026-08-25T06:18:59.963

Link: CVE-2026-74733

cve-icon Redhat

Severity : Low

Publid Date: 2026-08-22T00:00:00Z

Links: CVE-2026-74733 - Bugzilla

cve-icon OpenCVE Enrichment

Updated: 2026-08-25T18:30:04Z

Weaknesses
  • CWE-413

    Improper Resource Locking