一、 漏洞描述
当系统日志配置使用非默认的模式布局和上下文查找时,攻击者可以通过构造包含递归查找数据包的方式,控制线程上下文映射 (MDC),导致StackOverflowError产生并终止进程,实现拒绝服务攻击。目前只有log4j-core JAR 文件受此漏洞影响。仅使用log4j-api JAR文件而不使用log4j-core JAR文件的应用程序不受此漏洞的影响。
二、 漏洞详情
CVE-2021-45105 : Apache Log4j2拒绝服务攻击
CVE: CVE-2021-45105
组件: Log4j
漏洞类型: 代码问题
影响: 可导致拒绝服务
简述: 见漏洞描述。
三、 影响版本
组件 | 影响产品或系统版本 | 安全版本 |
2.0-beta9 <= Apache Log4j <= 2.16.0 | Log4j 2.17.0(Java 8) Log4j 2.12.2(Java 7) |
四、 安全版本
见三
五、 安全建议
通用修补建议:
厂商已发布安全版本,用户请尽快升级
https://github.com/apache/logging-log4j2/tags
临时缓解措施:
在日志记录配置的PatternLayout中,用线程上下文映射模式(%X、%mdc或%MDC)替换${ctx:loginId} 、$${ctx:loginId} 等涉及上下文查找的内容。当所使用诸如HTTP标头或用户输入等应用程序外部的数据时,可以删除对上下文查找的引用。