CVE-2026-34481Apache Log4j的JsonTemplateLayout组件在处理特定日志事件时存在安全漏洞。当日志事件包含攻击者控制的非有限浮点值(如NaN或Infinity)时,该组件会生成违反RFC 8259标准的无效JSON数据。这种异常输出会导致依赖有效JSON的下游日志解析和处理系统(如SIEM)无法索引或直接丢弃日志记录,从而造成日志丢失和处理服务中断。
该漏洞的触发需要满足两个条件:应用程序使用了Log4j的JsonTemplateLayout作为日志输出格式,并且应用程序记录了包含攻击者控制数据的MapMessage。漏洞根源在于JsonTemplateLayout在序列化MapMessage中的数据时,未对Java浮点数中的NaN(非数字)和Infinity(无穷大)进行特殊处理。根据RFC 8259规范,JSON标准不支持这些非有限数值。当攻击者通过应用接口注入包含NaN或Infinity的数据,并被应用记录到日志中时,Log4j会直接将这些非法值序列化到JSON字符串中。这会导致下游的日志消费端(如Elasticsearch、Logstash或自定义解析脚本)在解析JSON时抛出异常,进而导致日志处理流程中断,甚至可能导致解析进程崩溃,形成拒绝服务攻击。由于攻击无需认证且无复杂交互,该漏洞具有较高的利用风险。