vulnerabilities

Apache Log4j2 远程代码执行漏洞(CVE-2021-44228)

ryan·Jan 09, 2025

基本信息

  • 漏洞编号: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的版本
  • 主动检测:

    • 检查系统是否存在相关日志组件
    • 使用漏洞扫描工具进行验证
    • 审查应用程序依赖项清单

修复方案

  1. 版本升级(推荐)
    将Log4j2升级到2.15.0或更高版本
    <dependency>
        <groupId>org.apache.logging.log4j</groupId>
        <artifactId>log4j-core</artifactId>
        <version>2.15.0</version>
    </dependency>

  2. 临时缓解措施

    设置系统环境变量:
    set LOG4J_FORMAT_MSG_NO_LOOKUPS=true
    删除JndiLookup类:
    zip -q -d log4j-core-*.jar org/apache/logging/log4j/core/lookup/JndiLookup.class

修复建议

  • 立即评估系统是否受影响
  • 制定应急修复计划
  • 优先修复互联网暴露系统
  • 建立漏洞修复验证机制
  • 保存相关修复日志

声明

本预警仅供参考,请结合实际情况进行判断和使用。如需技术支持,请联系我们安全专家团队。

参考链接:

  • Apache官方公告
  • CISA安全公告