Goal Reached Thanks to every supporter — we hit 100%!

Goal: 1000 CNY · Raised: 1359 CNY

100%

CVE-2025-38453— io_uring/msg_ring: ensure io_kiocb freeing is deferred for RCU

Quick assessment

Affected
Linux Linux
Exploitation
No confirmed in-the-wild exploitation; assess based on exposure
Recommended action
Check the vendor advisory and references for a fixed version. If immediate upgrade is impossible, restrict exposure and increase monitoring.

Linux kernel是美国Linux基金会的开源操作系统Linux所使用的内核。 Linux kernel存在安全漏洞,该漏洞源于RCU释放竞争条件可能导致释放后使用。

CVSS 7.8 · High EPSS 0.17% · P7

Affected Version Matrix 8

VendorProduct Version RangeStatus
Linux Linux 0617bb500bfabf8447062f1e1edde92ed2b638f1< 094ba14a471cc6c68078c7ad488539eaf32c2277 affected
0617bb500bfabf8447062f1e1edde92ed2b638f1< e5b3432f4a6b418b8bd8fc91f38efbf17a77167a affected
0617bb500bfabf8447062f1e1edde92ed2b638f1< fc582cd26e888b0652bc1494f252329453fd3b23 affected
6.11 affected
< 6.11 unaffected
6.12.46≤ 6.12.* unaffected
6.15.7≤ 6.15.* unaffected
6.16≤ * unaffected
Get alerts for future matching vulnerabilities Log in to subscribe

I. Basic Information for CVE-2025-38453

Vulnerability Information

Have questions about the vulnerability? See if Shenlong's analysis helps!
View Shenlong Deep Dive ↗

Although we use advanced large model technology, its output may still contain inaccurate or outdated information.Shenlong tries to ensure data accuracy, but please verify and judge based on the actual situation.

Vulnerability Title
io_uring/msg_ring: ensure io_kiocb freeing is deferred for RCU
Source: CVE Program / CVE List V5
Vulnerability Description
In the Linux kernel, the following vulnerability has been resolved: io_uring/msg_ring: ensure io_kiocb freeing is deferred for RCU syzbot reports that defer/local task_work adding via msg_ring can hit a request that has been freed: CPU: 1 UID: 0 PID: 19356 Comm: iou-wrk-19354 Not tainted 6.16.0-rc4-syzkaller-00108-g17bbde2e1716 #0 PREEMPT(full) Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 05/07/2025 Call Trace: <TASK> dump_stack_lvl+0x189/0x250 lib/dump_stack.c:120 print_address_description mm/kasan/report.c:408 [inline] print_report+0xd2/0x2b0 mm/kasan/report.c:521 kasan_report+0x118/0x150 mm/kasan/report.c:634 io_req_local_work_add io_uring/io_uring.c:1184 [inline] __io_req_task_work_add+0x589/0x950 io_uring/io_uring.c:1252 io_msg_remote_post io_uring/msg_ring.c:103 [inline] io_msg_data_remote io_uring/msg_ring.c:133 [inline] __io_msg_ring_data+0x820/0xaa0 io_uring/msg_ring.c:151 io_msg_ring_data io_uring/msg_ring.c:173 [inline] io_msg_ring+0x134/0xa00 io_uring/msg_ring.c:314 __io_issue_sqe+0x17e/0x4b0 io_uring/io_uring.c:1739 io_issue_sqe+0x165/0xfd0 io_uring/io_uring.c:1762 io_wq_submit_work+0x6e9/0xb90 io_uring/io_uring.c:1874 io_worker_handle_work+0x7cd/0x1180 io_uring/io-wq.c:642 io_wq_worker+0x42f/0xeb0 io_uring/io-wq.c:696 ret_from_fork+0x3fc/0x770 arch/x86/kernel/process.c:148 ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:245 </TASK> which is supposed to be safe with how requests are allocated. But msg ring requests alloc and free on their own, and hence must defer freeing to a sane time. Add an rcu_head and use kfree_rcu() in both spots where requests are freed. Only the one in io_msg_tw_complete() is strictly required as it has been visible on the other ring, but use it consistently in the other spot as well. This should not cause any other issues outside of KASAN rightfully complaining about it.
Source: CVE Program / CVE List V5
CVSS Information
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
Source: CVE Program / CVE List V5
Vulnerability Type
N/A
Source: CVE Program / CVE List V5
Vulnerability Title
Linux kernel 安全漏洞
Source: CNNVD (China National Vulnerability Database)
Vulnerability Description
Linux kernel是美国Linux基金会的开源操作系统Linux所使用的内核。 Linux kernel存在安全漏洞,该漏洞源于RCU释放竞争条件可能导致释放后使用。
Source: CNNVD (China National Vulnerability Database)
CVSS Information
N/A
Source: CNNVD (China National Vulnerability Database)
Vulnerability Type
N/A
Source: CNNVD (China National Vulnerability Database)

Affected Products

Vendor Product Affected Versions CPE Subscribe
Linux Linux 0617bb500bfabf8447062f1e1edde92ed2b638f1 ~ 094ba14a471cc6c68078c7ad488539eaf32c2277 -
Linux Linux 6.11 -

II. Public POCs for CVE-2025-38453

# POC Description Source Link Shenlong Link
AI-Generated POC Premium

No public POC found.

Login to generate AI POC

III. Intelligence Information for CVE-2025-38453

请登录查看更多情报信息。

Patches & Fixes for CVE-2025-38453 (1)

Same Patch Batch · Linux · 2025-07-25 · 114 CVEs total

CVE-2025-38429 10.0 CRITICAL bus: mhi: ep: Update read pointer only after buffer is written
CVE-2025-38411 9.8 CRITICAL netfs: Fix double put of request
CVE-2025-38430 9.8 CRITICAL nfsd: nfsd4_spo_must_allow() must check this is a v4 compound request
CVE-2025-38439 9.8 CRITICAL bnxt_en: Set DMA unmap len correctly for XDP_REDIRECT
CVE-2025-38365 9.1 CRITICAL btrfs: fix a race between renames and directory logging
CVE-2025-38377 8.8 HIGH rose: fix dangling neighbour pointers in rose_rt_device_down()
CVE-2025-38367 8.8 HIGH LoongArch: KVM: Avoid overflow with array index
CVE-2025-38437 8.8 HIGH ksmbd: fix potential use-after-free in oplock/lease break ack
CVE-2025-38375 8.4 HIGH virtio-net: ensure the received length does not exceed allocated size
CVE-2025-38395 8.4 HIGH regulator: gpio: Fix the out-of-bounds access to drvdata::gpiods
CVE-2025-38386 7.8 HIGH ACPICA: Refuse to evaluate a method if arguments are missing
CVE-2025-38449 7.8 HIGH drm/gem: Acquire references on GEM handles for framebuffers
CVE-2025-38434 7.8 HIGH Revert "riscv: Define TASK_SIZE_MAX for __access_ok()"
CVE-2025-38412 7.8 HIGH platform/x86: dell-wmi-sysman: Fix WMI data block retrieval in sysfs callbacks
CVE-2025-38382 7.8 HIGH btrfs: fix iteration of extrefs during log replay
CVE-2025-38447 7.8 HIGH mm/rmap: fix potential out-of-bounds page table access during batched unmap
CVE-2025-38398 7.8 HIGH spi: spi-qpic-snand: reallocate BAM transactions
CVE-2025-38408 7.8 HIGH genirq/irq_sim: Initialize work context pointers properly
CVE-2025-38396 7.8 HIGH fs: export anon_inode_make_secure_inode() and fix secretmem LSM bypass
CVE-2025-38435 7.8 HIGH riscv: vector: Fix context save/restore with xtheadvector

Showing top 20 of 114 CVEs. View all on vendor page &rarr; →

IV. Related Vulnerabilities

V. Comments for CVE-2025-38453

No comments yet


Leave a comment