CVE-2026-105112 Nezha 锁序反转拒绝服务漏洞
影响认证非管理员用户可致告警子系统死锁,告警永久中断
Nezha 1.8.0 至 2.3.13 之前的版本在 UpdateGroup 与 DeleteGroup 中存在锁顺序反转(ABBA 死锁)问题。已认证的非管理员用户可通过并发调用通知组与批量删除接口触发死锁,导致告警投递功能被永久阻塞,直至服务重启。
影响范围
Nezha 1.8.0 起至 2.3.13 之前的版本受影响,2.3.13 及之后版本已修复。
漏洞详情
漏洞类型为锁顺序反转导致的死锁(CWE-833)。UpdateGroup 与 DeleteGroup 两条代码路径以相反顺序获取同一组锁,形成 ABBA 循环等待。攻击者并发调用通知组接口和批量删除接口,并传入超长 id 列表以扩大竞态窗口,从而稳定触发死锁,使告警子系统停止工作。
利用条件与风险
利用前提是攻击者拥有已认证的非管理员账户,且能并发访问相关接口。实战中可造成告警投递长期失效,属于拒绝服务类风险,CVSS 5.3 为中危。
修复建议
升级至 Nezha 2.3.13 或更高版本以修复锁顺序问题;临时缓解可限制非管理员账户对通知组与批量删除接口的访问,或在异常时重启服务恢复告警功能。
Nezha from 1.8.0 before 2.3.13 contains a lock-order inversion in UpdateGroup and DeleteGroup that allows authenticated non-admin users to deadlock the alerting subsystem. Attackers can concurrently call the notification-group and batch-delete endpoints with oversized id lists to widen the race and close an ABBA cycle, permanently killing alert delivery until restart.