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

目标: 1000 元 · 已筹: 1359 元

100%

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

一分钟漏洞结论

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

Linux kernel是美国Linux基金会的开源操作系统Linux所使用的内核。 Linux kernel存在安全漏洞,该漏洞源于SIOCBRADDIF和SIOCBRDELIF操作中的RTNL竞争条件,可能导致死锁。

AI 预测 5.5 利用难度: 中等 EPSS 0.21% · P10

影响版本矩阵 14

厂商产品 版本范围状态
Linux Linux 893b195875340cb44b54c9db99e708145f1210e8< f51e471cb1577d510c3096e126678e1ea20d2efd affected
893b195875340cb44b54c9db99e708145f1210e8< 338a0f3c66aef4ee13052880d02200aae8f2d8a8 affected
893b195875340cb44b54c9db99e708145f1210e8< d767ce15045df510f55cdd2af5df0eee71f928d0 affected
893b195875340cb44b54c9db99e708145f1210e8< 4888e1dcc341e9a132ef7b8516234b3c3296de56 affected
893b195875340cb44b54c9db99e708145f1210e8< 00fe0ac64efd1f5373b3dd9f1f84b19235371e39 affected
893b195875340cb44b54c9db99e708145f1210e8< ed3ba9b6e280e14cc3148c1b226ba453f02fa76c affected
5.15 affected
< 5.15 unaffected
… +6 条更多
获取后续新漏洞提醒 登录后订阅

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

漏洞信息

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

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

Vulnerability Title
net: Remove RTNL dance for SIOCBRADDIF and SIOCBRDELIF.
来源: CVE Program / CVE List V5
Vulnerability Description
In the Linux kernel, the following vulnerability has been resolved: net: Remove RTNL dance for SIOCBRADDIF and SIOCBRDELIF. SIOCBRDELIF is passed to dev_ioctl() first and later forwarded to br_ioctl_call(), which causes unnecessary RTNL dance and the splat below [0] under RTNL pressure. Let's say Thread A is trying to detach a device from a bridge and Thread B is trying to remove the bridge. In dev_ioctl(), Thread A bumps the bridge device's refcnt by netdev_hold() and releases RTNL because the following br_ioctl_call() also re-acquires RTNL. In the race window, Thread B could acquire RTNL and try to remove the bridge device. Then, rtnl_unlock() by Thread B will release RTNL and wait for netdev_put() by Thread A. Thread A, however, must hold RTNL after the unlock in dev_ifsioc(), which may take long under RTNL pressure, resulting in the splat by Thread B. Thread A (SIOCBRDELIF) Thread B (SIOCBRDELBR) ---------------------- ---------------------- sock_ioctl sock_ioctl `- sock_do_ioctl `- br_ioctl_call `- dev_ioctl `- br_ioctl_stub |- rtnl_lock | |- dev_ifsioc ' ' |- dev = __dev_get_by_name(...) |- netdev_hold(dev, ...) . / |- rtnl_unlock ------. | | |- br_ioctl_call `---> |- rtnl_lock Race | | `- br_ioctl_stub |- br_del_bridge Window | | | |- dev = __dev_get_by_name(...) | | | May take long | `- br_dev_delete(dev, ...) | | | under RTNL pressure | `- unregister_netdevice_queue(dev, ...) | | | | `- rtnl_unlock \ | |- rtnl_lock <-' `- netdev_run_todo | |- ... `- netdev_run_todo | `- rtnl_unlock |- __rtnl_unlock | |- netdev_wait_allrefs_any |- netdev_put(dev, ...) <----------------' Wait refcnt decrement and log splat below To avoid blocking SIOCBRDELBR unnecessarily, let's not call dev_ioctl() for SIOCBRADDIF and SIOCBRDELIF. In the dev_ioctl() path, we do the following: 1. Copy struct ifreq by get_user_ifreq in sock_do_ioctl() 2. Check CAP_NET_ADMIN in dev_ioctl() 3. Call dev_load() in dev_ioctl() 4. Fetch the master dev from ifr.ifr_name in dev_ifsioc() 3. can be done by request_module() in br_ioctl_call(), so we move 1., 2., and 4. to br_ioctl_stub(). Note that 2. is also checked later in add_del_if(), but it's better performed before RTNL. SIOCBRADDIF and SIOCBRDELIF have been processed in dev_ioctl() since the pre-git era, and there seems to be no specific reason to process them there. [0]: unregister_netdevice: waiting for wpan3 to become free. Usage count = 2 ref_tracker: wpan3@ffff8880662d8608 has 1/1 users at __netdev_tracker_alloc include/linux/netdevice.h:4282 [inline] netdev_hold include/linux/netdevice.h:4311 [inline] dev_ifsioc+0xc6a/0x1160 net/core/dev_ioctl.c:624 dev_ioctl+0x255/0x10c0 net/core/dev_ioctl.c:826 sock_do_ioctl+0x1ca/0x260 net/socket.c:1213 sock_ioctl+0x23a/0x6c0 net/socket.c:1318 vfs_ioctl fs/ioctl.c:51 [inline] __do_sys_ioctl fs/ioctl.c:906 [inline] __se_sys_ioctl fs/ioctl.c:892 [inline] __x64_sys_ioctl+0x1a4/0x210 fs/ioctl.c:892 do_syscall_x64 arch/x86/entry/common.c:52 [inline] do_syscall_64+0xcb/0x250 arch/x86/entry/common.c:83 entry_SYSCALL_64_after_hwframe+0x77/0x7f
来源: 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存在安全漏洞,该漏洞源于SIOCBRADDIF和SIOCBRDELIF操作中的RTNL竞争条件,可能导致死锁。
来源: 中国国家信息安全漏洞库 CNNVD
CVSS Information
N/A
来源: 中国国家信息安全漏洞库 CNNVD
Vulnerability Type
N/A
来源: 中国国家信息安全漏洞库 CNNVD

受影响产品

厂商 产品 影响版本 CPE 订阅
Linux Linux 893b195875340cb44b54c9db99e708145f1210e8 ~ f51e471cb1577d510c3096e126678e1ea20d2efd -
Linux Linux 5.15 -

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

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

未找到公开 POC。

登录以生成 AI POC

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

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

CVE-2025-22111 其他参考 (2)

同批安全公告 · Linux · 2025-04-16 · 共 127 条

CVE-2025-22021 10.0 CRITICAL Linux kernel 安全漏洞
CVE-2025-22077 9.8 CRITICAL Linux kernel 安全漏洞
CVE-2025-22110 9.8 CRITICAL Linux kernel 安全漏洞
CVE-2025-22088 9.8 CRITICAL Linux kernel 安全漏洞
CVE-2025-22040 8.8 HIGH Linux kernel 安全漏洞
CVE-2025-22118 8.8 HIGH Linux kernel 安全漏洞
CVE-2025-22041 8.8 HIGH Linux kernel 安全漏洞
CVE-2025-22039 8.8 HIGH Linux kernel 安全漏洞
CVE-2025-22074 8.8 HIGH Linux kernel 安全漏洞
CVE-2024-58096 8.8 HIGH Linux kernel 安全漏洞
CVE-2025-22086 8.8 HIGH Linux kernel 安全漏洞
CVE-2025-23133 8.8 HIGH Linux kernel 安全漏洞
CVE-2025-22117 8.7 HIGH Linux kernel 安全漏洞
CVE-2025-22108 8.6 HIGH Linux kernel 安全漏洞
CVE-2025-22080 8.4 HIGH Linux kernel 安全漏洞
CVE-2025-22121 8.4 HIGH Linux kernel 安全漏洞
CVE-2025-22038 8.3 HIGH Linux kernel 安全漏洞
CVE-2025-22042 8.1 HIGH Linux kernel 安全漏洞
CVE-2025-22043 8.1 HIGH Linux kernel 安全漏洞
CVE-2025-22049 7.8 HIGH Linux kernel 安全漏洞

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

IV. Related Vulnerabilities

V. Comments for CVE-2025-22111

暂无评论


发表评论