Lucene search

K
osvGoogleOSV:CVE-2024-42253
HistoryAug 08, 2024 - 9:15 a.m.

CVE-2024-42253

2024-08-0809:15:08
Google
osv.dev
linux kernel
cve-2024-42253
pca953x
i2c_lock
irq_bus_sync_unlock
i.mx8mp
system security

CVSS3

4.7

Attack Vector

LOCAL

Attack Complexity

HIGH

Privileges Required

LOW

User Interaction

NONE

Scope

UNCHANGED

Confidentiality Impact

NONE

Integrity Impact

NONE

Availability Impact

HIGH

CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:N/I:N/A:H

AI Score

6.6

Confidence

Low

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

CVSS3

4.7

Attack Vector

LOCAL

Attack Complexity

HIGH

Privileges Required

LOW

User Interaction

NONE

Scope

UNCHANGED

Confidentiality Impact

NONE

Integrity Impact

NONE

Availability Impact

HIGH

CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:N/I:N/A:H

AI Score

6.6

Confidence

Low