Log4j 漏洞(Log4Shell,编号 CVE-2021-44228)是 Java 日志组件 Apache Log4j 2 中的远程代码执行漏洞,攻击者仅凭一条特制字符串就能控制服务器,因影响面极广被称为近年来危害最大的安全漏洞之一。

| 类型 | 安全漏洞(远程代码执行) |
| 漏洞编号 | CVE-2021-44228 |
| 影响组件 | Apache Log4j 2(Java 日志库) |
| 披露时间 | 2021 年 12 月 |
| 危险等级 | CVSS 10.0(最高分) |
| 官网 | logging.apache.org |
Log4j 漏洞(Log4Shell,编号 CVE-2021-44228)是 Java 日志组件 Apache Log4j 2 中的一个远程代码执行漏洞,攻击者只需让目标程序记录一条特制字符串,就可能完全控制服务器。
Log4j 是 Apache 基金会维护的开源 Java 日志库,被海量的企业系统、网站后台和开源项目直接或间接使用,堪称 Java 世界的「基础设施」。2021 年 12 月,安全研究人员披露其 2.x 版本存在严重缺陷:Log4j 支持在日志内容中执行 JNDI 查找,当程序记录形如 ${jndi:ldap://...} 的字符串时,会主动连接攻击者指定的服务器并加载恶意代码,从而实现远程代码执行。
由于利用门槛极低——把恶意字符串填进用户名、聊天消息、请求头等任何会被记录的位置即可触发——漏洞公开后数小时内就出现大规模扫描和攻击,波及游戏、云服务、金融等众多行业。该漏洞被评为 CVSS 10.0 满分的最高危级别,各国安全机构均发布紧急预警。
最根本的办法是将 Log4j 升级到官方修复版本(2.17 及以上);无法立即升级时,可移除相关的 JndiLookup 组件、限制服务器对外连接,并配合 WAF 拦截含有 jndi 特征的请求。企业还应引入软件成分分析(SCA)工具,持续排查依赖链中的老旧组件。
问:为什么叫 Log4Shell?答:名字由 Log4j 与 Shell(命令执行环境)拼成,形象地说明攻击者能借这个日志组件拿到服务器的命令执行权限。
问:Log4j 1.x 也受影响吗?答:此漏洞主要影响 Log4j 2.x 的早期版本,1.x 不受同一漏洞直接影响,但它早已停止维护、存在其他安全隐患,同样建议尽快迁移升级。
问:普通用户需要做什么?答:Log4Shell 主要威胁服务器端应用,普通用户无法也无需自行修补,保持常用软件更新即可;真正需要行动的是使用 Java 技术栈的开发和运维团队。

| 类型 | 安全漏洞(远程代码执行) |
| 漏洞编号 | CVE-2021-44228 |
| 影响组件 | Apache Log4j 2(Java 日志库) |
| 披露时间 | 2021 年 12 月 |
| 危险等级 | CVSS 10.0(最高分) |
| 官网 | logging.apache.org |
登录 后参与讨论
暂无讨论,来发表第一条评论吧