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

目标: 1000 元 · 已筹: 1359 元

100%

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

一分钟漏洞结论

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

Linux kernel是美国Linux基金会的开源操作系统Linux所使用的内核。 Linux kernel存在安全漏洞,该漏洞源于RDMA/cma中cma_netevent_work_handler工作队列崩溃。

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

影响版本矩阵 12

厂商产品 版本范围状态
Linux Linux 925d046e7e52c71c3531199ce137e141807ef740< 51003b2c872c63d28bcf5fbcc52cf7b05615f7b7 affected
925d046e7e52c71c3531199ce137e141807ef740< c2b169fc7a12665d8a675c1ff14bca1b9c63fb9a affected
925d046e7e52c71c3531199ce137e141807ef740< d23fd7a539ac078df119707110686a5b226ee3bb affected
925d046e7e52c71c3531199ce137e141807ef740< b172a4a0de254f1fcce7591833a9a63547c2f447 affected
925d046e7e52c71c3531199ce137e141807ef740< 45f5dcdd049719fb999393b30679605f16ebce14 affected
6.0 affected
< 6.0 unaffected
6.1.135≤ 6.1.* unaffected
… +4 条更多
获取后续新漏洞提醒 登录后订阅

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

漏洞信息

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

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

Vulnerability Title
RDMA/cma: Fix workqueue crash in cma_netevent_work_handler
来源: CVE Program / CVE List V5
Vulnerability Description
In the Linux kernel, the following vulnerability has been resolved: RDMA/cma: Fix workqueue crash in cma_netevent_work_handler struct rdma_cm_id has member "struct work_struct net_work" that is reused for enqueuing cma_netevent_work_handler()s onto cma_wq. Below crash[1] can occur if more than one call to cma_netevent_callback() occurs in quick succession, which further enqueues cma_netevent_work_handler()s for the same rdma_cm_id, overwriting any previously queued work-item(s) that was just scheduled to run i.e. there is no guarantee the queued work item may run between two successive calls to cma_netevent_callback() and the 2nd INIT_WORK would overwrite the 1st work item (for the same rdma_cm_id), despite grabbing id_table_lock during enqueue. Also drgn analysis [2] indicates the work item was likely overwritten. Fix this by moving the INIT_WORK() to __rdma_create_id(), so that it doesn't race with any existing queue_work() or its worker thread. [1] Trimmed crash stack: ============================================= BUG: kernel NULL pointer dereference, address: 0000000000000008 kworker/u256:6 ... 6.12.0-0... Workqueue: cma_netevent_work_handler [rdma_cm] (rdma_cm) RIP: 0010:process_one_work+0xba/0x31a Call Trace: worker_thread+0x266/0x3a0 kthread+0xcf/0x100 ret_from_fork+0x31/0x50 ret_from_fork_asm+0x1a/0x30 ============================================= [2] drgn crash analysis: >>> trace = prog.crashed_thread().stack_trace() >>> trace (0) crash_setup_regs (./arch/x86/include/asm/kexec.h:111:15) (1) __crash_kexec (kernel/crash_core.c:122:4) (2) panic (kernel/panic.c:399:3) (3) oops_end (arch/x86/kernel/dumpstack.c:382:3) ... (8) process_one_work (kernel/workqueue.c:3168:2) (9) process_scheduled_works (kernel/workqueue.c:3310:3) (10) worker_thread (kernel/workqueue.c:3391:4) (11) kthread (kernel/kthread.c:389:9) Line workqueue.c:3168 for this kernel version is in process_one_work(): 3168 strscpy(worker->desc, pwq->wq->name, WORKER_DESC_LEN); >>> trace[8]["work"] *(struct work_struct *)0xffff92577d0a21d8 = { .data = (atomic_long_t){ .counter = (s64)536870912, <=== Note }, .entry = (struct list_head){ .next = (struct list_head *)0xffff924d075924c0, .prev = (struct list_head *)0xffff924d075924c0, }, .func = (work_func_t)cma_netevent_work_handler+0x0 = 0xffffffffc2cec280, } Suspicion is that pwq is NULL: >>> trace[8]["pwq"] (struct pool_workqueue *)<absent> In process_one_work(), pwq is assigned from: struct pool_workqueue *pwq = get_work_pwq(work); and get_work_pwq() is: static struct pool_workqueue *get_work_pwq(struct work_struct *work) { unsigned long data = atomic_long_read(&work->data); if (data & WORK_STRUCT_PWQ) return work_struct_pwq(data); else return NULL; } WORK_STRUCT_PWQ is 0x4: >>> print(repr(prog['WORK_STRUCT_PWQ'])) Object(prog, 'enum work_flags', value=4) But work->data is 536870912 which is 0x20000000. So, get_work_pwq() returns NULL and we crash in process_one_work(): 3168 strscpy(worker->desc, pwq->wq->name, WORKER_DESC_LEN); =============================================
来源: 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存在安全漏洞,该漏洞源于RDMA/cma中cma_netevent_work_handler工作队列崩溃。
来源: 中国国家信息安全漏洞库 CNNVD
CVSS Information
N/A
来源: 中国国家信息安全漏洞库 CNNVD
Vulnerability Type
N/A
来源: 中国国家信息安全漏洞库 CNNVD

受影响产品

厂商 产品 影响版本 CPE 订阅
Linux Linux 925d046e7e52c71c3531199ce137e141807ef740 ~ 51003b2c872c63d28bcf5fbcc52cf7b05615f7b7 -
Linux Linux 6.0 -

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

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

未找到公开 POC。

登录以生成 AI POC

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

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

CVE-2025-37772 补丁与修复 (5)

同批安全公告 · Linux · 2025-05-01 · 共 245 条

CVE-2025-37750 9.8 CRITICAL Linux kernel 安全漏洞
CVE-2025-37778 9.8 CRITICAL Linux kernel 安全漏洞
CVE-2022-49770 9.8 CRITICAL Linux kernel 安全漏洞
CVE-2022-49931 8.8 HIGH Linux kernel 安全漏洞
CVE-2025-37776 8.8 HIGH Linux kernel 安全漏洞
CVE-2025-37777 8.8 HIGH Linux kernel 安全漏洞
CVE-2025-37790 8.8 HIGH Linux kernel 安全漏洞
CVE-2022-49910 8.8 HIGH Linux kernel 安全漏洞
CVE-2022-49886 8.4 HIGH Linux kernel 安全漏洞
CVE-2025-23159 8.4 HIGH Linux kernel 安全漏洞
CVE-2025-37749 8.2 HIGH Linux kernel 安全漏洞
CVE-2025-37765 7.8 HIGH Linux kernel 安全漏洞
CVE-2025-37779 7.8 HIGH Linux kernel 安全漏洞
CVE-2022-49920 7.8 HIGH Linux kernel 安全漏洞
CVE-2022-49919 7.8 HIGH Linux kernel 安全漏洞
CVE-2022-49921 7.8 HIGH Linux kernel 安全漏洞
CVE-2025-37752 7.8 HIGH Linux kernel 安全漏洞
CVE-2025-37756 7.8 HIGH Linux kernel 安全漏洞
CVE-2025-37761 7.8 HIGH Linux kernel 安全漏洞
CVE-2022-49804 7.8 HIGH Linux kernel 安全漏洞

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

IV. Related Vulnerabilities

V. Comments for CVE-2025-37772

暂无评论


发表评论