CVE-2023-52791

MEDIUM

Linux Kernel 5.2-5.4.261 - Denial of Service via Non-Atomic I2C Transfer During Emergency Restart

Title source: llm
STIX 2.1

Description

In the Linux kernel, the following vulnerability has been resolved: i2c: core: Run atomic i2c xfer when !preemptible Since bae1d3a05a8b, i2c transfers are non-atomic if preemption is disabled. However, non-atomic i2c transfers require preemption (e.g. in wait_for_completion() while waiting for the DMA). panic() calls preempt_disable_notrace() before calling emergency_restart(). Therefore, if an i2c device is used for the restart, the xfer should be atomic. This avoids warnings like: [ 12.667612] WARNING: CPU: 1 PID: 1 at kernel/rcu/tree_plugin.h:318 rcu_note_context_switch+0x33c/0x6b0 [ 12.676926] Voluntary context switch within RCU read-side critical section! ... [ 12.742376] schedule_timeout from wait_for_completion_timeout+0x90/0x114 [ 12.749179] wait_for_completion_timeout from tegra_i2c_wait_completion+0x40/0x70 ... [ 12.994527] atomic_notifier_call_chain from machine_restart+0x34/0x58 [ 13.001050] machine_restart from panic+0x2a8/0x32c Use !preemptible() instead, which is basically the same check as pre-v5.2.

Scores

CVSS v3 5.5
EPSS 0.0024
EPSS Percentile 15.2%
Attack Vector LOCAL
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H

CISA SSVC

Vulnrichment
Exploitation none
Automatable no
Technical Impact partial

Details

Status published
Products (23)
linux/Kernel 5.11.0 - 5.15.140linux
linux/Kernel 5.16.0 - 6.1.64linux
linux/Kernel 5.2.0 - 5.4.262linux
linux/Kernel 5.5.0 - 5.10.202linux
linux/Kernel 6.2.0 - 6.5.13linux
linux/Kernel 6.6.0 - 6.6.3linux
Linux/Linux < 5.2
Linux/Linux 5.10.202 - 5.10.*
Linux/Linux 5.15.140 - 5.15.*
Linux/Linux 5.2
... and 13 more
Published May 21, 2024
Tracked Since Feb 18, 2026