CVE-2024-42253 Information

Description

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 0302000001 Input latch P0 0-0022: write register AI|49 fcfdfffffe Interrupt mask P0 0-0022: write register AI|08 ff00000000 Output P3 0-0022: write register AI|12 fc00000000 Config P3

Race case

0-0022: write register AI|08 ff00000000 Output P3 0-0022: write register AI|08 0302000001 Wrong register 0-0022: write register AI|12 fc00000000 Config P3 0-0022: write register AI|49 fcfdfffffe Interrupt mask P0

Reference

https://git.kernel.org/stable/c/58a5c93bd1a6e949267400080f07e57ffe05ec34 https://git.kernel.org/stable/c/e2ecdddca80dd845df42376e4b0197fe97018ba2 https://git.kernel.org/stable/c/de7cffa53149c7b48bd1bb29b02390c9f05b7f41 https://git.kernel.org/stable/c/bfc6444b57dc7186b6acc964705d7516cbaf3904

Share on: