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

目标: 1000 元 · 已筹: 1336

100%

CVE-2022-48920— Linux kernel 安全漏洞

一分钟漏洞结论

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

Linux kernel是美国Linux基金会的开源操作系统Linux所使用的内核。 Linux kernel存在安全漏洞,该漏洞源于__writeback_inodes_sb_nr函数中的WARN_ON条件不正确。

AI 预测 5.3 利用难度: 理论可行 EPSS 0.16% · P6

影响版本矩阵 8

厂商产品 版本范围状态
Linux Linux ce8ea7cc6eb3139f4c730d647325e69354159b0f< 850a77c999b81dd2724efd2684068d6f90db8c16 affected
ce8ea7cc6eb3139f4c730d647325e69354159b0f< e4d044dbffcd570351f21c747fc77ff90aed7f2e affected
ce8ea7cc6eb3139f4c730d647325e69354159b0f< a0f0cf8341e34e5d2265bfd3a7ad68342da1e2aa affected
4.15 affected
< 4.15 unaffected
5.15.27≤ 5.15.* unaffected
5.16.13≤ 5.16.* unaffected
5.17≤ * unaffected
获取后续新漏洞提醒 登录后订阅

一、 漏洞 CVE-2022-48920 基础信息

漏洞信息

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

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

Vulnerability Title
btrfs: get rid of warning on transaction commit when using flushoncommit
来源: CVE Program / CVE List V5
Vulnerability Description
In the Linux kernel, the following vulnerability has been resolved: btrfs: get rid of warning on transaction commit when using flushoncommit When using the flushoncommit mount option, during almost every transaction commit we trigger a warning from __writeback_inodes_sb_nr(): $ cat fs/fs-writeback.c: (...) static void __writeback_inodes_sb_nr(struct super_block *sb, ... { (...) WARN_ON(!rwsem_is_locked(&sb->s_umount)); (...) } (...) The trace produced in dmesg looks like the following: [947.473890] WARNING: CPU: 5 PID: 930 at fs/fs-writeback.c:2610 __writeback_inodes_sb_nr+0x7e/0xb3 [947.481623] Modules linked in: nfsd nls_cp437 cifs asn1_decoder cifs_arc4 fscache cifs_md4 ipmi_ssif [947.489571] CPU: 5 PID: 930 Comm: btrfs-transacti Not tainted 95.16.3-srb-asrock-00001-g36437ad63879 #186 [947.497969] RIP: 0010:__writeback_inodes_sb_nr+0x7e/0xb3 [947.502097] Code: 24 10 4c 89 44 24 18 c6 (...) [947.519760] RSP: 0018:ffffc90000777e10 EFLAGS: 00010246 [947.523818] RAX: 0000000000000000 RBX: 0000000000963300 RCX: 0000000000000000 [947.529765] RDX: 0000000000000000 RSI: 000000000000fa51 RDI: ffffc90000777e50 [947.535740] RBP: ffff888101628a90 R08: ffff888100955800 R09: ffff888100956000 [947.541701] R10: 0000000000000002 R11: 0000000000000001 R12: ffff888100963488 [947.547645] R13: ffff888100963000 R14: ffff888112fb7200 R15: ffff888100963460 [947.553621] FS: 0000000000000000(0000) GS:ffff88841fd40000(0000) knlGS:0000000000000000 [947.560537] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 [947.565122] CR2: 0000000008be50c4 CR3: 000000000220c000 CR4: 00000000001006e0 [947.571072] Call Trace: [947.572354] <TASK> [947.573266] btrfs_commit_transaction+0x1f1/0x998 [947.576785] ? start_transaction+0x3ab/0x44e [947.579867] ? schedule_timeout+0x8a/0xdd [947.582716] transaction_kthread+0xe9/0x156 [947.585721] ? btrfs_cleanup_transaction.isra.0+0x407/0x407 [947.590104] kthread+0x131/0x139 [947.592168] ? set_kthread_struct+0x32/0x32 [947.595174] ret_from_fork+0x22/0x30 [947.597561] </TASK> [947.598553] ---[ end trace 644721052755541c ]--- This is because we started using writeback_inodes_sb() to flush delalloc when committing a transaction (when using -o flushoncommit), in order to avoid deadlocks with filesystem freeze operations. This change was made by commit ce8ea7cc6eb313 ("btrfs: don't call btrfs_start_delalloc_roots in flushoncommit"). After that change we started producing that warning, and every now and then a user reports this since the warning happens too often, it spams dmesg/syslog, and a user is unsure if this reflects any problem that might compromise the filesystem's reliability. We can not just lock the sb->s_umount semaphore before calling writeback_inodes_sb(), because that would at least deadlock with filesystem freezing, since at fs/super.c:freeze_super() sync_filesystem() is called while we are holding that semaphore in write mode, and that can trigger a transaction commit, resulting in a deadlock. It would also trigger the same type of deadlock in the unmount path. Possibly, it could also introduce some other locking dependencies that lockdep would report. To fix this call try_to_writeback_inodes_sb() instead of writeback_inodes_sb(), because that will try to read lock sb->s_umount and then will only call writeback_inodes_sb() if it was able to lock it. This is fine because the cases where it can't read lock sb->s_umount are during a filesystem unmount or during a filesystem freeze - in those cases sb->s_umount is write locked and sync_filesystem() is called, which calls writeback_inodes_sb(). In other words, in all cases where we can't take a read lock on sb->s_umount, writeback is already being triggered elsewhere. An alternative would be to call btrfs_start_delalloc_roots() with a number of pages different from LONG_MAX, for example matching the number of delalloc bytes we currently have, in ---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存在安全漏洞,该漏洞源于__writeback_inodes_sb_nr函数中的WARN_ON条件不正确。
来源: 中国国家信息安全漏洞库 CNNVD
CVSS Information
N/A
来源: 中国国家信息安全漏洞库 CNNVD
Vulnerability Type
N/A
来源: 中国国家信息安全漏洞库 CNNVD

受影响产品

厂商 产品 影响版本 CPE 订阅
Linux Linux ce8ea7cc6eb3139f4c730d647325e69354159b0f ~ 850a77c999b81dd2724efd2684068d6f90db8c16 -
Linux Linux 4.15 -

二、漏洞 CVE-2022-48920 的公开POC

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

未找到公开 POC。

登录以生成 AI POC

三、漏洞 CVE-2022-48920 的情报信息

登录查看更多情报信息。

CVE-2022-48920 其他参考 (3)

同批安全公告 · Linux · 2024-08-22 · 共 42 条

CVE-2022-48941 8.8 HIGH Linux kernel 竞争条件问题漏洞
CVE-2022-48919 8.8 HIGH Linux kernel 安全漏洞
CVE-2022-48925 7.8 HIGH Linux kernel 安全漏洞
CVE-2022-48923 7.8 HIGH Linux kernel 安全漏洞
CVE-2022-48927 7.8 HIGH Linux kernel 安全漏洞
CVE-2022-48913 7.8 HIGH Linux kernel 安全漏洞
CVE-2022-48912 7.8 HIGH Linux kernel 安全漏洞
CVE-2022-48911 7.8 HIGH Linux kernel 安全漏洞
CVE-2022-48932 7.8 HIGH Linux kernel 安全漏洞
CVE-2022-48935 7.8 HIGH Linux kernel 安全漏洞
CVE-2022-48940 7.8 HIGH Linux kernel 缓冲区错误漏洞
CVE-2022-48943 7.1 HIGH Linux kernel 安全漏洞
CVE-2022-48933 Linux kernel 安全漏洞
CVE-2022-48931 Linux kernel 安全漏洞
CVE-2022-48934 Linux kernel 安全漏洞
CVE-2022-48937 Linux kernel 安全漏洞
CVE-2022-48930 Linux kernel 安全漏洞
CVE-2022-48929 Linux kernel 安全漏洞
CVE-2022-48928 Linux kernel 安全漏洞
CVE-2022-48938 Linux kernel 输入验证错误漏洞

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

IV. Related Vulnerabilities

V. Comments for CVE-2022-48920

暂无评论


发表评论