-
-
Apache Log4j拒绝服务漏洞通告
-
发表于: 2021-12-20 13:43 5725
-
2021年12月18日晚,棱镜七彩安全研究院监测到Apache官方发布了Apache Log4j 拒绝服务攻击漏洞(CVE-2021-45105),此漏洞需要在非默认配置下才能触发。当系统日志配置使用带有Context Lookups的非默认 Pattern Layout(例如$${ctx:loginId})时,攻击者可构造包含递归查找的恶意输入数据,成功利用此漏洞将触发无限循环,导致系统崩溃。
备注说明:
该漏洞利用条件严苛,影响较为有限,目前官方已有安全版本,建议使用处置建议中的缓解措施或升级到最新版本。
Apache Log4j 1.x不受此漏洞影响。只有 log4j-core 依赖受此漏洞影响,仅使用 log4j-api而不使用 log4j-core依赖的应用程序不受此漏洞影响。Apache Log4j 是唯一受此漏洞影响的日志服务子项目,Log4net 和 Log4cxx 等其他项目不受影响。
Log4j 1.x 坐标示例:
<dependency> <groupId>log4j</groupId> <artifactId>log4j</artifactId> <version>1.x</version> </dependency>
Log4j2 2.x 坐标示例:
<dependency> <groupId>org.apache.logging.log4j</groupId> <artifactId>log4j-core</artifactId> <version>2.x</version> </dependency>
漏洞描述:
Apache Log4j 1.x不受此漏洞影响。只有 log4j-core 依赖受此漏洞影响,仅使用 log4j-api而不使用 log4j-core依赖的应用程序不受此漏洞影响。Apache Log4j 是唯一受此漏洞影响的日志服务子项目,Log4net 和 Log4cxx 等其他项目不受影响。
漏洞类型:
拒绝服务
风险等级:
高危
漏洞CVE编号:
CVE-2021-45105
公开状态:
已公开
漏洞描述:
当系统日志配置使用带有Context Lookups的非默认 Pattern Layout(例如$${ctx:loginId})时,攻击者可构造包含递归查找的恶意输入数据,成功利用此漏洞将触发无限循环,导致系统崩溃。
受影响版本:
2.0-beta9 <= Apache Log4j <= 2.16.0
参考链接:
697K9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6D9L8$3N6Y4K9h3&6Y4i4K6u0W2j5i4m8S2j5$3S2W2i4K6u0W2L8%4u0Y4i4K6u0r3L8r3!0Y4y4r3A6Q4x3V1j5J5i4K6u0W2P5q4)9J5c8Y4y4W2j5%4g2J5K9i4c8&6i4K6u0W2K9s2c8E0L8l9`.`.
修复建议:
目前Apache Log4j官方已有可更新版本,用户可升级至安全版本。Java 8或更高版本用户可以升级至Apache Log4j 2.17.0版本:
e78K9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6D9L8$3N6Y4K9h3&6Y4i4K6u0W2j5i4m8S2j5$3S2W2i4K6u0W2L8%4u0Y4i4K6u0r3L8r3!0Y4y4r3A6Q4x3V1j5J5i4K6u0W2P5q4)9J5c8X3c8G2N6$3&6D9L8$3q4V1i4K6u0W2K9s2c8E0L8q4)9J5y4X3&6T1M7%4m8Q4x3@1t1`.
373K9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6K6k6h3y4#2M7X3W2@1P5g2)9J5k6h3&6W2N6r3q4H3M7q4)9J5k6h3y4G2L8g2)9J5c8X3q4V1N6X3W2K6L8%4u0&6i4K6u0r3L8Y4c8S2M7q4)9J5k6o6t1H3x3U0p5I4x3U0p5^5i4K6u0V1x3o6l9H3x3g2)9J5c8R3`.`.
601K9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6F1N6X3c8Q4x3X3g2F1K9i4y4@1i4K6u0W2k6$3!0$3i4K6u0r3N6Y4g2D9L8W2)9J5c8X3c8W2N6r3q4A6L8q4)9J5c8V1y4h3c8g2)9J5k6o6t1H3x3U0q4Q4x3X3b7@1y4e0p5H3y4b7`.`.
缓解措施
若无法及时升级至安全版本,可采用以下缓解措施来缓解此漏洞:
(1)在日志配置的 PatternLayout 中,用Thread Context Map模式(%X、%mdc 或 %MDC)替换 ${ctx:loginId} 或 $${ctx:loginId} 等Context Lookups。
(2)在系统接收应用程序外部数据(如HTTP headers或用户输入)的场景中,在配置中删除对Context Lookups的引用(如 ${ctx:loginId} 或 $${ctx:loginId})。
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课