Lucene search

K
vulnrichmentLinuxVULNRICHMENT:CVE-2024-42253
HistoryAug 08, 2024 - 8:46 a.m.

CVE-2024-42253 gpio: pca953x: fix pca953x_irq_bus_sync_unlock race

2024-08-0808:46:29
Linux
github.com
3
linux kernel
vulnerability
gpio pca953x
i2c_lock
irq_bus_sync_unlock
race
i.mx8mp

AI Score

6.7

Confidence

Low

SSVC

Exploitation

none

Automatable

no

Technical Impact

partial

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

AI Score

6.7

Confidence

Low

SSVC

Exploitation

none

Automatable

no

Technical Impact

partial

Related for VULNRICHMENT:CVE-2024-42253