Bug 2521408 (CVE-2026-74733)

Summary: CVE-2026-74733 kernel: gpio: pca953x: fix pca953x_irq_bus_sync_unlock regmap lock
Product: [Other] Security Response Reporter: OSIDB Bzimport <bzimport>
Component: vulnerabilityAssignee: Product Security DevOps Team <prodsec-dev>
Status: NEW --- QA Contact:
Severity: low Docs Contact:
Priority: low    
Version: unspecifiedCC: rhel-process-autobot, watson-tool-maintainers
Target Milestone: ---Keywords: Security
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: ---
Doc Text:
A flaw was found in the Linux kernel's `gpio: pca953x` driver, which manages General Purpose Input/Output (GPIO) expanders. The driver uses its own locking mechanism, but the `pca953x_irq_bus_sync_unlock()` function failed to acquire the necessary lock when performing register operations. This oversight could allow multiple threads to concurrently access and modify registers, leading to incorrect data being read or written. Such a race condition could result in unpredictable system behavior or data corruption.
Story Points: ---
Clone Of: Environment:
Last Closed: Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description OSIDB Bzimport 2026-08-22 15:44:08 UTC
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.

Comment 1 Mauro Matteo Cascella 2026-08-24 12:00:23 UTC
Upstream advisory:
https://lore.kernel.org/linux-cve-announce/2026082242-CVE-2026-74733-9012@gregkh/T