CVE-2024-53052 json
io_uring/rw: fix missing NOWAIT check for O_DIRECT start write
published last yr. modified 4mo ago also EUVD-2024-50468
- cvss
- 4.4
- version 3.1, CNA
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 0.2%
- EPSS 0.2% chance of exploitation in 30 days, percentile 8%
- public exploits
- 0
- none known
Summary
In the Linux kernel, the following vulnerability has been resolved:
io_uring/rw: fix missing NOWAIT check for O_DIRECT start write
When io_uring starts a write, it'll call kiocb_start_write() to bump the super block rwsem, preventing any freezes from happening while that write is in-flight. The freeze side will grab that rwsem for writing, excluding any new writers from happening and waiting for existing writes to finish. But io_uring unconditionally uses kiocb_start_write(), which will block if someone is currently attempting to freeze the mount point. This causes a deadlock where freeze is waiting for previous writes to complete, but the previous writes cannot complete, as the task that is supposed to complete them is blocked waiting on starting a new write. This results in the following stuck trace showing that dependency with the write blocked starting a new write:
task:fio state:D stack:0 pid:886 tgid:886 ppid:876 Call trace: __switch_to+0x1d8/0x348 __schedule+0x8e8/0x2248 schedule+0x110/0x3f0 percpu_rwsem_wait+0x1e8/0x3f8 __percpu_down_read+0xe8/0x500 io_write+0xbb8/0xff8 io_issue_sqe+0x10c/0x1020 io_submit_sqes+0x614/0x2110 __arm64_sys_io_uring_enter+0x524/0x1038 invoke_syscall+0x74/0x268 el0_svc_common.constprop.0+0x160/0x238 do_el0_svc+0x44/0x60 el0_svc+0x44/0xb0 el0t_64_sync_handler+0x118/0x128 el0t_64_sync+0x168/0x170 INFO: task fsfreeze:7364 blocked for more than 15 seconds. Not tainted 6.12.0-rc5-00063-g76aaf945701c #7963
with the attempting freezer stuck trying to grab the rwsem:
task:fsfreeze state:D stack:0 pid:7364 tgid:7364 ppid:995 Call trace: __switch_to+0x1d8/0x348 __schedule+0x8e8/0x2248 schedule+0x110/0x3f0 percpu_down_write+0x2b0/0x680 freeze_super+0x248/0x8a8 do_vfs_ioctl+0x149c/0x1b18 __arm64_sys_ioctl+0xd0/0x1a0 invoke_syscall+0x74/0x268 el0_svc_common.constprop.0+0x160/0x238 do_el0_svc+0x44/0x60 el0_svc+0x44/0xb0 el0t_64_sync_handler+0x118/0x128 el0t_64_sync+0x168/0x170
Fix this by having the io_uring side honor IOCB_NOWAIT, and only attempt a blocking grab of the super block rwsem if it isn't set. For normal issue where IOCB_NOWAIT would always be set, this returns -EAGAIN which will have io_uring core issue a blocking attempt of the write. That will in turn also get completions run, ensuring forward progress.
Since freezing requires CAP_SYS_ADMIN in the first place, this isn't something that can be triggered by a regular user.
Patch / fix
- Linux Linux 5.10.230, 5.15.172, 6.1.116, 6.6.60, 6.11.7, 6.12
- linux Debian 12 6.1.119-1
- linux Debian 14, Debian 13 6.11.7-1
debian advisories DEBIAN-CVE-2024-53052
- linux Ubuntu 22.04 LTS 5.15.0-133.144
- linux Ubuntu 24.04 LTS 6.8.0-58.60
- linux-aws Ubuntu 22.04 LTS 5.15.0-1078.85
- linux-aws Ubuntu 24.04 LTS 6.8.0-1027.29
- linux-gcp Ubuntu 22.04 LTS 5.15.0-1077.86
- linux-gcp Ubuntu 24.04 LTS 6.8.0-1028.30
- linux-gke Ubuntu 22.04 LTS 5.15.0-1075.81
- linux-gke Ubuntu 24.04 LTS 6.8.0-1023.27
ubuntu advisories UBUNTU-CVE-2024-53052
Ubuntu security data © Canonical Ltd., from https://github.com/canonical/ubuntu-security-notices via OSV; changed: normalised to fixed package versions per release. CC BY-SA 4.0
- kernel RHEL 9 5.14.0-611.5.1.el9_7
- rv RHEL 9 5.14.0-611.5.1.el9_7
- perf RHEL 9 5.14.0-611.5.1.el9_7
- rtla RHEL 9 5.14.0-611.5.1.el9_7
- libperf RHEL 9 5.14.0-611.5.1.el9_7
- kernel-rt RHEL 9 5.14.0-611.5.1.el9_7
- kernel-64k RHEL 9 5.14.0-611.5.1.el9_7
- kernel-core RHEL 9 5.14.0-611.5.1.el9_7
red hat advisories RHSA-2025:20518
- kernel-source Linux Micro 6.1, Linux Micro 6.0 6.4.0-24.1
- kernel-default Linux Micro 6.1, Linux Micro 6.0 6.4.0-24.1
- kernel-kvmsmall Linux Micro 6.1, Linux Micro 6.0 6.4.0-24.1
- kernel-default-base Linux Micro 6.1, Linux Micro 6.0 6.4.0-24.1.21.4
- kernel-livepatch-MICRO-6-0_Update_4 Linux Micro 6.1, Linux Micro 6.0 1-1.2
- kernel-rt Linux Micro 6.1, Linux Micro 6.0 6.4.0-22.1
- kernel-source-rt Linux Micro 6.1, Linux Micro 6.0 6.4.0-22.1
- kernel-livepatch-MICRO-6-0-RT_Update_4 Linux Micro 6.1, Linux Micro 6.0 1-1.1
suse advisories SUSE-SU-2025:20164-1SUSE-SU-2025:20247-1SUSE-SU-2025:20163-1SUSE-SU-2025:20246-1SUSE-SU-2024:4387-1SUSE-SU-2024:4376-1
- kernel AlmaLinux 9 5.14.0-611.5.1.el9_7
- rv AlmaLinux 9 5.14.0-611.5.1.el9_7
- perf AlmaLinux 9 5.14.0-611.5.1.el9_7
- rtla AlmaLinux 9 5.14.0-611.5.1.el9_7
- libperf AlmaLinux 9 5.14.0-611.5.1.el9_7
- kernel-rt AlmaLinux 9 5.14.0-611.5.1.el9_7
- kernel-64k AlmaLinux 9 5.14.0-611.5.1.el9_7
- kernel-core AlmaLinux 9 5.14.0-611.5.1.el9_7
almalinux advisories ALSA-2025:20518
- kernel Rocky Linux 9 5.14.0-611.5.1.el9_7
rocky linux advisories RLSA-2025:20518
- kernel Azure Linux 3.0 6.6.64.2-1
- kernel CBL-Mariner 2.0 5.15.173.1-1
azure linux advisories AZL-53864AZL-53957
Azure Linux vulnerability data, Copyright (c) Microsoft Corporation, from https://github.com/microsoft/AzureLinuxVulnerabilityData via OSV, under the MIT licence; changed: normalised to fixed package versions per release. MIT
- git.kernel.org/stable/c/485d9232112b17f389b29497ff41b97b3189546b commit
- git.kernel.org/stable/c/4e24041ba86d50aaa4c792ae2c88ed01b3d96243 commit
- git.kernel.org/stable/c/9e8debb8e51354b201db494689198078ec2c1e75 commit
- git.kernel.org/stable/c/003d2996964c03dfd34860500428f4cdf1f5879e commit
- git.kernel.org/stable/c/26b8c48f369b7591f5679e0b90612f4862a32929 commit
- git.kernel.org/stable/c/1d60d74e852647255bd8e76f5a22dc42531e4389 commit
Is CVE-2024-53052 in your stack? Fencer shows which of your repositories are affected as soon as an advisory lands, and opens the fix as a pull request.
Check with FencerVendor advisories
What the vendors themselves say about their products: affected, fixed or not affected, and what to do.
red hat product security vex CVE-2024-53052 updated cvss 4.4
kernel: io_uring/rw: fix missing NOWAIT check for O_DIRECT start write
-
Red Hat Enterprise Linux AppStream (v. 9) rv 5.14.0-611.5.1.el9_7, perf 5.14.0-611.5.1.el9_7, rtla 5.14.0-611.5.1.el9_7, python3-perf 5.14.0-611.5.1.el9_7, kernel-devel-matched 5.14.0-611.5.1.el9_7, kernel-64k-devel-matched 5.14.0-611.5.1.el9_7, +7 more Red Hat Enterprise Linux BaseOS (v. 9) kernel 5.14.0-611.5.1.el9_7, kernel-64k 5.14.0-611.5.1.el9_7, kernel-core 5.14.0-611.5.1.el9_7, kernel-tools 5.14.0-611.5.1.el9_7, kernel-modules 5.14.0-611.5.1.el9_7, kernel-64k-core 5.14.0-611.5.1.el9_7, +27 more Red Hat Enterprise Linux CodeReady Linux Builder (v. 9) libperf 5.14.0-611.5.1.el9_7, kernel-debuginfo-common-s390x 5.14.0-611.5.1.el9_7, kernel-debuginfo-common-x86_64 5.14.0-611.5.1.el9_7, kernel-debuginfo-common-aarch64 5.14.0-611.5.1.el9_7, kernel-debuginfo-common-ppc64le 5.14.0-611.5.1.el9_7 Red Hat Enterprise Linux Real Time (v. 9) kernel-rt 5.14.0-611.5.1.el9_7, kernel-rt-64k 5.14.0-611.5.1.el9_7, kernel-rt-core 5.14.0-611.5.1.el9_7, kernel-rt-modules 5.14.0-611.5.1.el9_7, kernel-rt-64k-core 5.14.0-611.5.1.el9_7, kernel-rt-debug-core 5.14.0-611.5.1.el9_7, +14 more Red Hat Enterprise Linux Real Time for NFV (v. 9) kernel-rt 5.14.0-611.5.1.el9_7, kernel-rt-core 5.14.0-611.5.1.el9_7, kernel-rt-modules 5.14.0-611.5.1.el9_7, kernel-rt-debug-core 5.14.0-611.5.1.el9_7, kernel-rt-modules-core 5.14.0-611.5.1.el9_7, kernel-rt-debug-modules 5.14.0-611.5.1.el9_7, +4 morefixed: vendor fix RHSA-2025:20518
-
Red Hat Enterprise Linux 6 perf, kernel, python-perf, kernel-kdump, kernel-firmware, kernel-bootwrapper, +1 more Red Hat Enterprise Linux 7 perf, kernel, bpftool, kernel-rt, python-perf, kernel-kdump, +8 more Red Hat Enterprise Linux 8 perf, kernel, bpftool, kernel-rt, kernel-core, kernel-tools, +29 morenot affected: vulnerable code not present
Red Hat CSAF VEX © Red Hat, Inc., from https://security.access.redhat.com/data/csaf/v2/vex/; changed: reduced to product statuses and remediations. CC BY 4.0 · csaf
cisa ICSA-25-226-07 updated cvss 5.5
Siemens Third-Party Components in SINEC OS
-
Siemens RUGGEDCOM RST2428P (6GK6242-6PA00) < 3.2affected: fixed in V3.2 support.industry.siemens.com
-
Siemens SCALANCE XC-300/XR-300/XC-400/XR-500WG/XR-500 family < 3.2affected: fixed in V3.2
-
Siemens SCALANCE XCM-/XRM-/XCH-/XRH-300 family < 3.2affected: fixed in V3.2 support.industry.siemens.com
Facts from CISA's republication of the vendor's own advisory (CSAF); the linked advisory is the authoritative source. CISA notification · csaf
CISA SSVC
- Exploitation
- none
- Automatable
- no
- Technical impact
- partial
- Assessed
- last yr.
Exploit prediction
0.18% chance of exploitation in the next 30 days, higher than 8% of all scored CVEs (FIRST EPSS, 2026-11-11).
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CISA ADP | 3.1 | 4.4 | CVSS:3.1/AV:L/AC:L/PR:H/UI:N/S:U/C:N/I:N/A:H |
| NVD | 3.1 | 4.4 | CVSS:3.1/AV:L/AC:L/PR:H/UI:N/S:U/C:N/I:N/A:H |
| CNA | 3.1 | 4.4 | CVSS:3.1/AV:L/AC:L/PR:H/UI:N/S:U/C:N/I:N/A:H |
Affected products
- Linux Linux
Classification
- Weakness
-
- CWE-667 Improper Locking
- Technology feeds
References
-
git.kernel.org
/stable/c/485d9232112b17f389b29497ff41b97b3189546b
patch
-
git.kernel.org
/stable/c/4e24041ba86d50aaa4c792ae2c88ed01b3d96243
patch
-
git.kernel.org
/stable/c/9e8debb8e51354b201db494689198078ec2c1e75
patch
-
git.kernel.org
/stable/c/003d2996964c03dfd34860500428f4cdf1f5879e
patch
-
git.kernel.org
/stable/c/26b8c48f369b7591f5679e0b90612f4862a32929
patch
-
git.kernel.org
/stable/c/1d60d74e852647255bd8e76f5a22dc42531e4389
patch
- lists.debian.org /debian-lts-announce/2025/03/msg00002.html
- lists.debian.org /debian-lts-announce/2025/01/msg00001.html
Sources
- CVE List CVE-2024-53052
- NVD CVE-2024-53052
Fencer Intel keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.