文章总结: Apache修复了Log4j中CVE-2026-49844漏洞,该漏洞允许攻击者通过特殊数值破坏JSON日志输出,影响log4j-api组件,CVSS评分6.3中危。攻击原理是MapMessage包含NaN或Infinity时布局写入无效JSON导致解析失败。影响版本2.13.1至2.25.4等,已在2.25.5和2.26.1修复。目前无公开PoC,EPSS评分低于1%。建议立即升级或过滤非有限浮点数。 综合评分: 84 文章分类: 漏洞分析,安全工具
CVE-2026-49844:Apache Log4j 会输出无效的 JSON 日志
sec随谈 sec随谈
sec随谈
2026年7月13日 09:17 北京
在小说阅读器读本章
去阅读
摘要
Apache 修复了 Apache Log4j 中的一个新漏洞,编号为 CVE-2026-49844。该漏洞使攻击者能够用一个特殊数值来破坏 JSON 日志输出。它影响 log4j-api 组件,在 CVSS 4.0 标准下评分为 6.3,即中危(medium)级别。
为何重要
日志是你的审计追踪(audit trail)。如果攻击者破坏了日志,你的告警就可能凭空消失。这个漏洞可以阻塞日志管道(log pipelines),使恶意活动对下游工具隐身。因此其真正的影响在于可用性(availability)和完整性(integrity),而非代码执行。
攻击原理
问题出在 Apache Log4j 将数值序列化(serialize)为 JSON 的方式上。当一个 MapMessage 包含 NaN 或 Infinity 这类非有限值(non-finite value)时,布局(layout)会将该裸令牌(bare token)直接写入。然而,JSON 并不允许这些令牌。其结果是,严格的解析器会拒绝该日志记录,下游的采集(ingestion)也可能失败。
该漏洞仅在两个条件同时满足时才会触发。第一,应用必须使用 JsonTemplateLayout 或其他会调用 MapMessage.asJson() 的布局。第二,它必须记录一个包含攻击者可控浮点数(float)的 MapMessage。值得注意的是,这个补丁还封堵了此前 CVE-2026-34481 所遗留的一个缺口。
利用现状
目前不存在针对 CVE-2026-49844 的公开概念验证(PoC)。研究人员尚未确认任何在野攻击。相关问题在 EPSS(漏洞利用预测评分系统)上的评分也低于 1%,且未出现在 CISA 的 KEV(已知被利用漏洞)名单中。
受影响版本
该漏洞影响 2.13.1 至 2.25.4 的 log4j-api,同时也影响 2.26.0 版本以及 3.0.0 的早期预发布版(pre-releases)。Apache 已在 2.25.5 和 2.26.1 中修复了该问题。
如何修补
请立即升级。迁移到 2.25.5 或 2.26.1,因为这两个版本都能为上述数值输出有效的 JSON。你可以从 Apache Log4j 下载页面获取已修复的构建版本。如需完整详情,请查阅 Apache 的安全公告。如果你暂时无法打补丁,可在非有限浮点数到达日志记录器(logger)之前将其拒绝。
参考链接:
https://logging.apache.org/security.html#CVE-2026-49844
免责声明:
本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。
任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。
本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我。
本文转载自:sec随谈 sec随谈 sec随谈《CVE-2026-49844:Apache Log4j 会输出无效的 JSON 日志》
版权声明
本站仅做备份收录,仅供研究与教学参考之用。
读者将信息用于其他用途的,全部法律及连带责任由读者自行承担,本站不承担任何责任。









评论