CVE-2026-22258Suricata是一款开源的网络入侵检测系统(IDS)、入侵防御系统(IPS)和网络安全管理(NSM)引擎。该漏洞存在于Suricata处理DCERPC(分布式组件对象模型远程过程调用)流量的过程中。攻击者可以通过发送特制的DCERPC流量,触发Suricata无限扩展缓冲区而不对其进行限制,最终导致内存耗尽,使进程被系统终止。虽然该漏洞最初在DCERPC over UDP场景下被发现并报告,但据分析,DCERPC over TCP和SMB协议同样存在此漏洞风险。在默认配置下,DCERPC/TCP由于stream深度限制为1MiB,理论上不应受影响。成功利用此漏洞可导致Suricata服务中断,造成网络监控和威胁检测能力丧失。
漏洞根源在于Suricata的DCERPC解析器在处理输入数据时缺乏适当的边界检查。当接收到特制的DCERPC数据包时,解析器会持续分配内存而未检查总内存使用量,导致内存缓冲区无限扩展。具体而言,DCERPC解析模块在处理fragment或context数据时,未对累积的缓冲区大小进行有效限制。对于UDP协议,由于其无连接特性,攻击者可以持续发送恶意数据包;对于TCP和SMB协议,虽然默认有1MiB的流重组深度限制,但SMB默认设置为无限制,仍存在风险。攻击者构造包含大量fragment数据的DCERPC请求,通过反复发送或维持长连接方式,可逐步耗尽目标系统的物理内存,最终触发OOM Killer导致进程终止。