目标达成 感谢每一位支持者 — 我们达成了 100% 目标!

目标: 1000 元 · 已筹: 1359 元

100%

CVE-2025-38358— Linux kernel 安全漏洞

一分钟漏洞结论

影响对象
Linux Linux
利用判断
尚无明确在野利用证据,仍需结合暴露面评估
建议动作
优先检查厂商安全公告和参考链接中的修复版本;无法立即升级时,限制受影响服务暴露并加强监测。

Linux kernel是美国Linux基金会的开源操作系统Linux所使用的内核。 Linux kernel存在安全漏洞,该漏洞源于异步回收工作线程和close_ctree函数之间存在竞争条件。

AI 预测 5.3 利用难度: 中等 EPSS 0.10% · P1

影响版本矩阵 6

厂商产品 版本范围状态
Linux Linux 19e60b2a95f5d6b77d972c7bec35a11e70fd118c< 4693cda2c06039c875f2eef0123b22340c34bfa0 affected
19e60b2a95f5d6b77d972c7bec35a11e70fd118c< a26bf338cdad3643a6e7c3d78a172baadba15c1a affected
6.15 affected
< 6.15 unaffected
6.15.5≤ 6.15.* unaffected
6.16≤ * unaffected
获取后续新漏洞提醒 登录后订阅

一、 漏洞 CVE-2025-38358 基础信息

漏洞信息

对漏洞内容有疑问?看看神龙的深度分析是否有帮助!
查看神龙十问 ↗

尽管我们使用了先进的大模型技术,但其输出仍可能包含不准确或过时的信息。神龙努力确保数据的准确性,但请您根据实际情况进行核实和判断。

Vulnerability Title
btrfs: fix race between async reclaim worker and close_ctree()
来源: CVE Program / CVE List V5
Vulnerability Description
In the Linux kernel, the following vulnerability has been resolved: btrfs: fix race between async reclaim worker and close_ctree() Syzbot reported an assertion failure due to an attempt to add a delayed iput after we have set BTRFS_FS_STATE_NO_DELAYED_IPUT in the fs_info state: WARNING: CPU: 0 PID: 65 at fs/btrfs/inode.c:3420 btrfs_add_delayed_iput+0x2f8/0x370 fs/btrfs/inode.c:3420 Modules linked in: CPU: 0 UID: 0 PID: 65 Comm: kworker/u8:4 Not tainted 6.15.0-next-20250530-syzkaller #0 PREEMPT(full) Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 05/07/2025 Workqueue: btrfs-endio-write btrfs_work_helper RIP: 0010:btrfs_add_delayed_iput+0x2f8/0x370 fs/btrfs/inode.c:3420 Code: 4e ad 5d (...) RSP: 0018:ffffc9000213f780 EFLAGS: 00010293 RAX: ffffffff83c635b7 RBX: ffff888058920000 RCX: ffff88801c769e00 RDX: 0000000000000000 RSI: 0000000000000100 RDI: 0000000000000000 RBP: 0000000000000001 R08: ffff888058921b67 R09: 1ffff1100b12436c R10: dffffc0000000000 R11: ffffed100b12436d R12: 0000000000000001 R13: dffffc0000000000 R14: ffff88807d748000 R15: 0000000000000100 FS: 0000000000000000(0000) GS:ffff888125c53000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 00002000000bd038 CR3: 000000006a142000 CR4: 00000000003526f0 DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400 Call Trace: <TASK> btrfs_put_ordered_extent+0x19f/0x470 fs/btrfs/ordered-data.c:635 btrfs_finish_one_ordered+0x11d8/0x1b10 fs/btrfs/inode.c:3312 btrfs_work_helper+0x399/0xc20 fs/btrfs/async-thread.c:312 process_one_work kernel/workqueue.c:3238 [inline] process_scheduled_works+0xae1/0x17b0 kernel/workqueue.c:3321 worker_thread+0x8a0/0xda0 kernel/workqueue.c:3402 kthread+0x70e/0x8a0 kernel/kthread.c:464 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> This can happen due to a race with the async reclaim worker like this: 1) The async metadata reclaim worker enters shrink_delalloc(), which calls btrfs_start_delalloc_roots() with an nr_pages argument that has a value less than LONG_MAX, and that in turn enters start_delalloc_inodes(), which sets the local variable 'full_flush' to false because wbc->nr_to_write is less than LONG_MAX; 2) There it finds inode X in a root's delalloc list, grabs a reference for inode X (with igrab()), and triggers writeback for it with filemap_fdatawrite_wbc(), which creates an ordered extent for inode X; 3) The unmount sequence starts from another task, we enter close_ctree() and we flush the workqueue fs_info->endio_write_workers, which waits for the ordered extent for inode X to complete and when dropping the last reference of the ordered extent, with btrfs_put_ordered_extent(), when we call btrfs_add_delayed_iput() we don't add the inode to the list of delayed iputs because it has a refcount of 2, so we decrement it to 1 and return; 4) Shortly after at close_ctree() we call btrfs_run_delayed_iputs() which runs all delayed iputs, and then we set BTRFS_FS_STATE_NO_DELAYED_IPUT in the fs_info state; 5) The async reclaim worker, after calling filemap_fdatawrite_wbc(), now calls btrfs_add_delayed_iput() for inode X and there we trigger an assertion failure since the fs_info state has the flag BTRFS_FS_STATE_NO_DELAYED_IPUT set. Fix this by setting BTRFS_FS_STATE_NO_DELAYED_IPUT only after we wait for the async reclaim workers to finish, after we call cancel_work_sync() for them at close_ctree(), and by running delayed iputs after wait for the reclaim workers to finish and before setting the bit. This race was recently introduced by commit 19e60b2a95f5 ("btrfs: add extra warning if delayed iput is added when it's not allowed"). Without the new validation at btrfs_add_delayed_iput(), ---truncated---
来源: CVE Program / CVE List V5
CVSS Information
N/A
来源: CVE Program / CVE List V5
Vulnerability Type
N/A
来源: CVE Program / CVE List V5
Vulnerability Title
Linux kernel 安全漏洞
来源: 中国国家信息安全漏洞库 CNNVD
Vulnerability Description
Linux kernel是美国Linux基金会的开源操作系统Linux所使用的内核。 Linux kernel存在安全漏洞,该漏洞源于异步回收工作线程和close_ctree函数之间存在竞争条件。
来源: 中国国家信息安全漏洞库 CNNVD
CVSS Information
N/A
来源: 中国国家信息安全漏洞库 CNNVD
Vulnerability Type
N/A
来源: 中国国家信息安全漏洞库 CNNVD

受影响产品

厂商 产品 影响版本 CPE 订阅
Linux Linux 19e60b2a95f5d6b77d972c7bec35a11e70fd118c ~ 4693cda2c06039c875f2eef0123b22340c34bfa0 -
Linux Linux 6.15 -

二、漏洞 CVE-2025-38358 的公开POC

# POC 描述 源链接 神龙链接
AI 生成 POC 高级

未找到公开 POC。

登录以生成 AI POC

三、漏洞 CVE-2025-38358 的情报信息

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

CVE-2025-38358 补丁与修复 (1)

同批安全公告 · Linux · 2025-07-25 · 共 114 条

CVE-2025-38429 10.0 CRITICAL Linux kernel 安全漏洞
CVE-2025-38439 9.8 CRITICAL Linux kernel 安全漏洞
CVE-2025-38430 9.8 CRITICAL Linux kernel 安全漏洞
CVE-2025-38411 9.8 CRITICAL Linux kernel 安全漏洞
CVE-2025-38365 9.1 CRITICAL Linux kernel 安全漏洞
CVE-2025-38377 8.8 HIGH Linux kernel 安全漏洞
CVE-2025-38437 8.8 HIGH Linux kernel 安全漏洞
CVE-2025-38367 8.8 HIGH Linux kernel 安全漏洞
CVE-2025-38375 8.4 HIGH Linux kernel 安全漏洞
CVE-2025-38395 8.4 HIGH Linux kernel 安全漏洞
CVE-2025-38453 7.8 HIGH Linux kernel 安全漏洞
CVE-2025-38396 7.8 HIGH Linux kernel 安全漏洞
CVE-2025-38408 7.8 HIGH Linux kernel 安全漏洞
CVE-2025-38440 7.8 HIGH Linux kernel 安全漏洞
CVE-2025-38447 7.8 HIGH Linux kernel 安全漏洞
CVE-2025-38412 7.8 HIGH Linux kernel 安全漏洞
CVE-2025-38398 7.8 HIGH Linux kernel 安全漏洞
CVE-2025-38386 7.8 HIGH Linux kernel 安全漏洞
CVE-2025-38382 7.8 HIGH Linux kernel 安全漏洞
CVE-2025-38424 7.8 HIGH Linux kernel 安全漏洞

显示前 20 条,共 114 条。 查看全部 &rarr; →

IV. Related Vulnerabilities

V. Comments for CVE-2025-38358

暂无评论


发表评论