CVE-2024-42253CWE-667

CVE-2024-42253

High · published August 8, 2024

CVSS v3.1
7.8
EPSS
0%
Percentile
6.4
In the wild
Unconfirmed
What it is

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

gpio: pca953x: fix pca953x_irq_bus_sync_unlock race

Ensure that `i2c_lock' is held when setting interrupt latch and mask in

pca953x_irq_bus_sync_unlock() in order to avoid races.

The other (non-probe) call site pca953x_gpio_set_multiple() ensures the

lock is held before calling pca953x_write_regs().

The problem occurred when a request raced against irq_bus_sync_unlock()

approximately once per thousand reboots on an i.MX8MP based system.

* Normal case

0-0022: write register AI|3a {03,02,00,00,01} Input latch P0

0-0022: write register AI|49 {fc,fd,ff,ff,fe} Interrupt mask P0

0-0022: write register AI|08 {ff,00,00,00,00} Output P3

0-0022: write register AI|12 {fc,00,00,00,00} Config P3

* Race case

0-0022: write register AI|08 {ff,00,00,00,00} Output P3

0-0022: write register AI|08 {03,02,00,00,01} *** Wrong register ***

0-0022: write register AI|12 {fc,00,00,00,00} Config P3

0-0022: write register AI|49 {fc,fd,ff,ff,fe} Interrupt mask P0

The record
Technical detail
CVSS v3.1
7.8 · HIGH
Vector
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
CVSS v4.0
Not supplied
EPSS
0.00173 · 6.4th percentile
Weakness
CWE-667 · Improper Locking
Published
2024-08-08T13:15Z
Affected products (8)
ProductVersionsFixed in
linux/linux_kernel< 6.1.1016.1.101
linux/linux_kernel≥ 6.2, < 6.6.426.6.42
linux/linux_kernel≥ 6.7, < 6.9.116.9.11
linux/linux_kernelall versions—
linux/linux_kernelall versions—
linux/linux_kernelall versions—
linux/linux_kernelall versions—
linux/linux_kernelall versions—
References (5)
EPSS history
Timeline
  • 08 AUG 08:46Z
    gpio: pca953x: fix pca953x_irq_bus_sync_unlock race
    cvelistv5