CVE-2025-61908CVE-2025-61908 是 Icinga 2 开源监控系统中存在的一个空指针解引用漏洞。Icinga 2 是一款广泛使用的企业级开源监控解决方案,用于监控网络基础设施和服务的可用性。该漏洞存在于 Icinga 2 的 2.10.0 至 2.15.0、2.14.6 及 2.13.12 之前的版本中。
当用户通过 API 创建一个无效的引用(例如对 null 的引用)时,系统在对该引用进行解引用操作时会发生空指针解引用错误,导致段错误(Segmentation Fault)。这一漏洞可以被任何具有 API 访问权限的用户利用,特别是那些能够通过 API 端点指定过滤表达式的用户。攻击者可以通过精心构造的恶意请求触发该漏洞,使 Icinga 2 守护进程崩溃,从而造成监控服务中断。
由于 Icinga 2 在企业 IT 基础设施中通常承担关键的网络和服务监控职责,该漏洞的利用可能严重影响组织的运维能力,导致对关键业务系统的监控失效。该漏洞的 CVSS 3.1 评分为 6.5 分,属于中危级别,主要影响系统的可用性。Icinga 官方已在 2.15.1、2.14.7 和 2.13.13 版本中修复了该问题。
该漏洞的根本原因在于 Icinga 2 的 API 在处理用户提供的过滤表达式时,未对引用操作进行充分的输入验证。当用户通过 API 端点提交一个包含对 null 引用进行解引用的过滤表达式时,Icinga 2 的表达式解析器或求值器会尝试访问 null 引用所指向的内存地址,从而触发空指针解引用错误。
从技术层面分析,该漏洞的利用路径如下:
1. 攻击者需要拥有 Icinga 2 API 的有效凭证,且该凭证需要具备调用支持过滤表达式参数的 API 端点的权限(低权限即可)。
2. 攻击者构造一个恶意的 API 请求,在过滤表达式参数中包含对 null 值的解引用操作。
3. Icinga 2 服务端接收到请求后,会解析并执行该过滤表达式。
4. 在执行过程中,当遇到对 null 引用的解引用操作时,程序尝试访问无效的内存地址(地址 0 或附近的内存区域)。
5. 操作系统检测到非法内存访问,向进程发送 SIGSEGV 信号,导致 Icinga 2 守护进程异常终止。
该漏洞的攻击复杂度低(AC:L),攻击者无需用户交互(UI:N),且可以通过网络远程触发(AV:N)。虽然需要低权限认证(PR:L),但由于 Icinga 2 的 API 通常对内部网络中的多个用户开放,这一要求并不构成实质性的利用障碍。该漏洞不影响数据的机密性和完整性(C:N/I:N),但会导致服务完全不可用(A:H),对依赖 Icinga 2 进行监控的业务系统造成严重影响。