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

目标: 1000 元 · 已筹: 1359 元

100%

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

一分钟漏洞结论

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

Linux kernel是美国Linux基金会的开源操作系统Linux所使用的内核。 Linux kernel存在安全漏洞,该漏洞源于ibmvnic_xmit和重置路径之间存在竞争条件,可能导致空指针取消引用。

CVSS 9.8 · Critical EPSS 0.50% · P42

影响版本矩阵 10

厂商产品 版本范围状态
Linux Linux 7ed5b31f4a6695a21f617df07646e9b15c6c1d29< 1bd58abf595b6cf1ba6dd47ec887c4c009155fc9 affected
7ed5b31f4a6695a21f617df07646e9b15c6c1d29< 475f9cce98b63bc145b4efa66fa51175d4cb345f affected
7ed5b31f4a6695a21f617df07646e9b15c6c1d29< 8507c6ade73cdbbbda5c3d31d67f52f2e1cf03fe affected
7ed5b31f4a6695a21f617df07646e9b15c6c1d29< 4219196d1f662cb10a462eb9e076633a3fc31a15 affected
5.4 affected
< 5.4 unaffected
5.15.33≤ 5.15.* unaffected
5.16.19≤ 5.16.* unaffected
… +2 条更多
获取后续新漏洞提醒 登录后订阅

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

漏洞信息

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

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

Vulnerability Title
ibmvnic: fix race between xmit and reset
来源: CVE Program / CVE List V5
Vulnerability Description
In the Linux kernel, the following vulnerability has been resolved: ibmvnic: fix race between xmit and reset There is a race between reset and the transmit paths that can lead to ibmvnic_xmit() accessing an scrq after it has been freed in the reset path. It can result in a crash like: Kernel attempted to read user page (0) - exploit attempt? (uid: 0) BUG: Kernel NULL pointer dereference on read at 0x00000000 Faulting instruction address: 0xc0080000016189f8 Oops: Kernel access of bad area, sig: 11 [#1] ... NIP [c0080000016189f8] ibmvnic_xmit+0x60/0xb60 [ibmvnic] LR [c000000000c0046c] dev_hard_start_xmit+0x11c/0x280 Call Trace: [c008000001618f08] ibmvnic_xmit+0x570/0xb60 [ibmvnic] (unreliable) [c000000000c0046c] dev_hard_start_xmit+0x11c/0x280 [c000000000c9cfcc] sch_direct_xmit+0xec/0x330 [c000000000bfe640] __dev_xmit_skb+0x3a0/0x9d0 [c000000000c00ad4] __dev_queue_xmit+0x394/0x730 [c008000002db813c] __bond_start_xmit+0x254/0x450 [bonding] [c008000002db8378] bond_start_xmit+0x40/0xc0 [bonding] [c000000000c0046c] dev_hard_start_xmit+0x11c/0x280 [c000000000c00ca4] __dev_queue_xmit+0x564/0x730 [c000000000cf97e0] neigh_hh_output+0xd0/0x180 [c000000000cfa69c] ip_finish_output2+0x31c/0x5c0 [c000000000cfd244] __ip_queue_xmit+0x194/0x4f0 [c000000000d2a3c4] __tcp_transmit_skb+0x434/0x9b0 [c000000000d2d1e0] __tcp_retransmit_skb+0x1d0/0x6a0 [c000000000d2d984] tcp_retransmit_skb+0x34/0x130 [c000000000d310e8] tcp_retransmit_timer+0x388/0x6d0 [c000000000d315ec] tcp_write_timer_handler+0x1bc/0x330 [c000000000d317bc] tcp_write_timer+0x5c/0x200 [c000000000243270] call_timer_fn+0x50/0x1c0 [c000000000243704] __run_timers.part.0+0x324/0x460 [c000000000243894] run_timer_softirq+0x54/0xa0 [c000000000ea713c] __do_softirq+0x15c/0x3e0 [c000000000166258] __irq_exit_rcu+0x158/0x190 [c000000000166420] irq_exit+0x20/0x40 [c00000000002853c] timer_interrupt+0x14c/0x2b0 [c000000000009a00] decrementer_common_virt+0x210/0x220 --- interrupt: 900 at plpar_hcall_norets_notrace+0x18/0x2c The immediate cause of the crash is the access of tx_scrq in the following snippet during a reset, where the tx_scrq can be either NULL or an address that will soon be invalid: ibmvnic_xmit() { ... tx_scrq = adapter->tx_scrq[queue_num]; txq = netdev_get_tx_queue(netdev, queue_num); ind_bufp = &tx_scrq->ind_buf; if (test_bit(0, &adapter->resetting)) { ... } But beyond that, the call to ibmvnic_xmit() itself is not safe during a reset and the reset path attempts to avoid this by stopping the queue in ibmvnic_cleanup(). However just after the queue was stopped, an in-flight ibmvnic_complete_tx() could have restarted the queue even as the reset is progressing. Since the queue was restarted we could get a call to ibmvnic_xmit() which can then access the bad tx_scrq (or other fields). We cannot however simply have ibmvnic_complete_tx() check the ->resetting bit and skip starting the queue. This can race at the "back-end" of a good reset which just restarted the queue but has not cleared the ->resetting bit yet. If we skip restarting the queue due to ->resetting being true, the queue would remain stopped indefinitely potentially leading to transmit timeouts. IOW ->resetting is too broad for this purpose. Instead use a new flag that indicates whether or not the queues are active. Only the open/ reset paths control when the queues are active. ibmvnic_complete_tx() and others wake up the queue only if the queue is marked active. So we will have: A. reset/open thread in ibmvnic_cleanup() and __ibmvnic_open() ->resetting = true ->tx_queues_active = false disable tx queues ... ->tx_queues_active = true start tx queues B. Tx interrupt in ibmvnic_complete_tx(): if (->tx_queues_active) netif_wake_subqueue(); To ensure that ->tx_queues_active and state of the queues are consistent, we need a lock which: - must also be taken in the interrupt path (ibmvnic_complete_tx()) - shared across the multiple ---truncated---
来源: CVE Program / CVE List V5
CVSS Information
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
来源: 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存在安全漏洞,该漏洞源于ibmvnic_xmit和重置路径之间存在竞争条件,可能导致空指针取消引用。
来源: 中国国家信息安全漏洞库 CNNVD
CVSS Information
N/A
来源: 中国国家信息安全漏洞库 CNNVD
Vulnerability Type
N/A
来源: 中国国家信息安全漏洞库 CNNVD

受影响产品

厂商 产品 影响版本 CPE 订阅
Linux Linux 7ed5b31f4a6695a21f617df07646e9b15c6c1d29 ~ 1bd58abf595b6cf1ba6dd47ec887c4c009155fc9 -
Linux Linux 5.4 -

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

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

未找到公开 POC。

登录以生成 AI POC

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

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

CVE-2022-49201 补丁与修复 (4)

同批安全公告 · Linux · 2025-02-26 · 共 706 条

CVE-2022-49356 9.8 CRITICAL Linux kernel 安全漏洞
CVE-2022-49149 9.8 CRITICAL Linux kernel 安全漏洞
CVE-2022-49407 9.8 CRITICAL Linux kernel 安全漏洞
CVE-2022-49260 9.8 CRITICAL Linux kernel 安全漏洞
CVE-2022-49280 9.8 CRITICAL Linux kernel 安全漏洞
CVE-2022-49194 9.8 CRITICAL Linux kernel 安全漏洞
CVE-2022-49362 9.8 CRITICAL Linux kernel 安全漏洞
CVE-2022-49561 9.8 CRITICAL Linux kernel 安全漏洞
CVE-2022-49093 9.8 CRITICAL Linux kernel 安全漏洞
CVE-2022-49418 9.8 CRITICAL Linux kernel 安全漏洞
CVE-2022-49094 9.8 CRITICAL Linux kernel 安全漏洞
CVE-2022-49058 9.1 CRITICAL Linux kernel 安全漏洞
CVE-2022-49470 8.8 HIGH Linux kernel 安全漏洞
CVE-2022-49500 8.8 HIGH Linux kernel 安全漏洞
CVE-2022-49519 8.8 HIGH Linux kernel 安全漏洞
CVE-2022-49328 8.8 HIGH Linux kernel 安全漏洞
CVE-2022-49479 8.8 HIGH Linux kernel 安全漏洞
CVE-2022-49238 8.8 HIGH Linux kernel 安全漏洞
CVE-2022-49535 8.8 HIGH Linux kernel 安全漏洞
CVE-2022-49111 8.8 HIGH Linux kernel 安全漏洞

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

IV. Related Vulnerabilities

V. Comments for CVE-2022-49201

暂无评论


发表评论