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

目标: 1000 元 · 已筹: 1359 元

100%

CVE-2021-46987— Linux kernel 安全漏洞

一分钟漏洞结论

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

Linux kernel是美国Linux基金会的开源操作系统Linux所使用的内核。 Linux kernel 存在安全漏洞,该漏洞源于在使用 qgroup 时会出现死锁情况。

AI 预测 4.7 利用难度: 中等 EPSS 0.18% · P7

可能的 ATT&CK 技术 1 AI

T1499 · Endpoint Denial of Service

影响版本矩阵 12

厂商产品 版本范围状态
Linux Linux c53e9653605dbf708f5be02902de51831be4b009< f8fbbd06fab9b75dcd68d850fe318ac3bc128974 affected
c53e9653605dbf708f5be02902de51831be4b009< d5347827d0b4b2250cbce6eccaa1c81dc78d8651 affected
c53e9653605dbf708f5be02902de51831be4b009< 96157707c0420e3d3edfe046f1cc797fee117ade affected
c53e9653605dbf708f5be02902de51831be4b009< f9baa501b4fd6962257853d46ddffbc21f27e344 affected
36af2de520cca7c37974cc4944b47850f6c460ee affected
5.4.141< 5.5 affected
5.9 affected
< 5.9 unaffected
… +4 条更多
获取后续新漏洞提醒 登录后订阅

一、 漏洞 CVE-2021-46987 基础信息

漏洞信息

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

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

Vulnerability Title
btrfs: fix deadlock when cloning inline extents and using qgroups
来源: CVE Program / CVE List V5
Vulnerability Description
In the Linux kernel, the following vulnerability has been resolved: btrfs: fix deadlock when cloning inline extents and using qgroups There are a few exceptional cases where cloning an inline extent needs to copy the inline extent data into a page of the destination inode. When this happens, we end up starting a transaction while having a dirty page for the destination inode and while having the range locked in the destination's inode iotree too. Because when reserving metadata space for a transaction we may need to flush existing delalloc in case there is not enough free space, we have a mechanism in place to prevent a deadlock, which was introduced in commit 3d45f221ce627d ("btrfs: fix deadlock when cloning inline extent and low on free metadata space"). However when using qgroups, a transaction also reserves metadata qgroup space, which can also result in flushing delalloc in case there is not enough available space at the moment. When this happens we deadlock, since flushing delalloc requires locking the file range in the inode's iotree and the range was already locked at the very beginning of the clone operation, before attempting to start the transaction. When this issue happens, stack traces like the following are reported: [72747.556262] task:kworker/u81:9 state:D stack: 0 pid: 225 ppid: 2 flags:0x00004000 [72747.556268] Workqueue: writeback wb_workfn (flush-btrfs-1142) [72747.556271] Call Trace: [72747.556273] __schedule+0x296/0x760 [72747.556277] schedule+0x3c/0xa0 [72747.556279] io_schedule+0x12/0x40 [72747.556284] __lock_page+0x13c/0x280 [72747.556287] ? generic_file_readonly_mmap+0x70/0x70 [72747.556325] extent_write_cache_pages+0x22a/0x440 [btrfs] [72747.556331] ? __set_page_dirty_nobuffers+0xe7/0x160 [72747.556358] ? set_extent_buffer_dirty+0x5e/0x80 [btrfs] [72747.556362] ? update_group_capacity+0x25/0x210 [72747.556366] ? cpumask_next_and+0x1a/0x20 [72747.556391] extent_writepages+0x44/0xa0 [btrfs] [72747.556394] do_writepages+0x41/0xd0 [72747.556398] __writeback_single_inode+0x39/0x2a0 [72747.556403] writeback_sb_inodes+0x1ea/0x440 [72747.556407] __writeback_inodes_wb+0x5f/0xc0 [72747.556410] wb_writeback+0x235/0x2b0 [72747.556414] ? get_nr_inodes+0x35/0x50 [72747.556417] wb_workfn+0x354/0x490 [72747.556420] ? newidle_balance+0x2c5/0x3e0 [72747.556424] process_one_work+0x1aa/0x340 [72747.556426] worker_thread+0x30/0x390 [72747.556429] ? create_worker+0x1a0/0x1a0 [72747.556432] kthread+0x116/0x130 [72747.556435] ? kthread_park+0x80/0x80 [72747.556438] ret_from_fork+0x1f/0x30 [72747.566958] Workqueue: btrfs-flush_delalloc btrfs_work_helper [btrfs] [72747.566961] Call Trace: [72747.566964] __schedule+0x296/0x760 [72747.566968] ? finish_wait+0x80/0x80 [72747.566970] schedule+0x3c/0xa0 [72747.566995] wait_extent_bit.constprop.68+0x13b/0x1c0 [btrfs] [72747.566999] ? finish_wait+0x80/0x80 [72747.567024] lock_extent_bits+0x37/0x90 [btrfs] [72747.567047] btrfs_invalidatepage+0x299/0x2c0 [btrfs] [72747.567051] ? find_get_pages_range_tag+0x2cd/0x380 [72747.567076] __extent_writepage+0x203/0x320 [btrfs] [72747.567102] extent_write_cache_pages+0x2bb/0x440 [btrfs] [72747.567106] ? update_load_avg+0x7e/0x5f0 [72747.567109] ? enqueue_entity+0xf4/0x6f0 [72747.567134] extent_writepages+0x44/0xa0 [btrfs] [72747.567137] ? enqueue_task_fair+0x93/0x6f0 [72747.567140] do_writepages+0x41/0xd0 [72747.567144] __filemap_fdatawrite_range+0xc7/0x100 [72747.567167] btrfs_run_delalloc_work+0x17/0x40 [btrfs] [72747.567195] btrfs_work_helper+0xc2/0x300 [btrfs] [72747.567200] process_one_work+0x1aa/0x340 [72747.567202] worker_thread+0x30/0x390 [72747.567205] ? create_worker+0x1a0/0x1a0 [72747.567208] kthread+0x116/0x130 [72747.567211] ? kthread_park+0x80/0x80 [72747.567214] ret_from_fork+0x1f/0x30 [72747.569686] task:fsstress state:D stack: ---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 存在安全漏洞,该漏洞源于在使用 qgroup 时会出现死锁情况。
来源: 中国国家信息安全漏洞库 CNNVD
CVSS Information
N/A
来源: 中国国家信息安全漏洞库 CNNVD
Vulnerability Type
N/A
来源: 中国国家信息安全漏洞库 CNNVD

受影响产品

厂商 产品 影响版本 CPE 订阅
Linux Linux c53e9653605dbf708f5be02902de51831be4b009 ~ f8fbbd06fab9b75dcd68d850fe318ac3bc128974 -
Linux Linux 5.9 -

二、漏洞 CVE-2021-46987 的公开POC

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

未找到公开 POC。

登录以生成 AI POC

三、漏洞 CVE-2021-46987 的情报信息

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

CVE-2021-46987 其他参考 (3)

同批安全公告 · Linux · 2024-02-28 · 共 86 条

CVE-2021-47013 9.8 CRITICAL Linux kernel 安全漏洞
CVE-2021-47036 9.8 CRITICAL Linux kernel 安全漏洞
CVE-2021-46999 9.8 CRITICAL Linux kernel 安全漏洞
CVE-2021-47035 8.8 HIGH Linux kernel 安全漏洞
CVE-2021-47017 8.8 HIGH Linux kernel 安全漏洞
CVE-2021-47049 8.4 HIGH Linux kernel 安全漏洞
CVE-2021-47014 7.8 HIGH Linux kernel 安全漏洞
CVE-2020-36785 7.8 HIGH Linux kernel 安全漏洞
CVE-2021-47040 7.8 HIGH Linux kernel 安全漏洞
CVE-2021-47048 7.8 HIGH Linux kernel 安全漏洞
CVE-2021-46984 7.8 HIGH Linux kernel 安全漏洞
CVE-2021-46993 7.8 HIGH Linux kernel 安全漏洞
CVE-2021-46998 7.8 HIGH Linux kernel 安全漏洞
CVE-2021-46992 7.8 HIGH Linux kernel 安全漏洞
CVE-2021-46977 7.8 HIGH Linux kernel 安全漏洞
CVE-2021-47012 7.8 HIGH Linux kernel 安全漏洞
CVE-2021-47011 7.8 HIGH Linux kernel 安全漏洞
CVE-2020-36787 7.8 HIGH Linux kernel 安全漏洞
CVE-2021-47041 7.5 HIGH Linux kernel 安全漏洞
CVE-2021-46983 7.5 HIGH Linux kernel 安全漏洞

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

IV. Related Vulnerabilities

V. Comments for CVE-2021-46987

暂无评论


发表评论