【基本信息】
- 漏洞编号:CVE-2021-44228
- 威胁等级:危急 (CVSS v3.0 评分:10.0)
- 影响版本:Apache Log4j2 2.0-beta9 至 2.14.1
- 漏洞类型:远程代码执行 (RCE)
- 受影响组件:log4j-core
- 验证状态:已验证
- 修复状态:官方已发布修复版本
【漏洞描述】
Apache Log4j2中存在JNDI注入漏洞,攻击者可以通过构造恶意的JNDI LDAP请求实现远程代码执行,获取服务器控制权。由于Log4j2被广泛应用于各类Java应用中,该漏洞影响范围极其广泛,利用门槛低,威胁程度高。
【影响范围】
- 影响版本
- Apache Log4j 2.0-beta9 through 2.14.1
- 受影响产品
- SpringBoot框架项目
- Apache Struts2
- Apache Solr
- Apache Druid
- ElasticSearch
- Minecraft服务器
- 所有使用受影响版本Log4j2的Java应用
【漏洞利用条件】
- 目标系统使用了受影响版本的Log4j2组件
- 应用程序将用户输入数据进行日志记录
- 目标系统能够发起外部网络请求
【威胁等级判定依据】
- 攻击复杂度低
- 无需认证即可利用
- 影响范围广
- 可造成远程代码执行
- 利用代码公开
【检测方法】
-
版本检测:
- 检查pom.xml文件中log4j-core的版本
- 检查lib目录下log4j-core-*.jar的版本
-
主动检测:
- 检查系统是否存在相关日志组件
- 使用漏洞扫描工具进行验证
- 审查应用程序依赖项清单
【修复方案】
-
版本升级(推荐)
将Log4j2升级到2.15.0或更高版本<dependency> <groupId>org.apache.logging.log4j</groupId> <artifactId>log4j-core</artifactId> <version>2.15.0</version> </dependency>
-
临时缓解措施
- 设置系统环境变量:
set LOG4J_FORMAT_MSG_NO_LOOKUPS=true
-
- 删除JndiLookup类:
zip -q -d log4j-core-*.jar org/apache/logging/log4j/core/lookup/JndiLookup.class
- 删除JndiLookup类:
【修复建议】
- 立即评估系统是否受影响
- 制定应急修复计划
- 优先修复互联网暴露系统
- 建立漏洞修复验证机制
- 保存相关修复日志
【最佳实践建议】
- 建立第三方组件管理机制
- 定期进行依赖项安全扫描
- 实施最小权限原则
- 加强日志监控和审计
- 及时跟踪安全公告
【参考链接】
- Apache官方公告
- CISA安全公告
- 微步在线威胁情报中心
- NVD漏洞库详情