全球知名开源日志组件Apache Log4j被曝存在严重高危险级别远程代码执行漏洞,攻击者可以利用该漏洞远程执行恶意代码。据阿里云通报,由Apache Log4j2某些功能存在递归解析功能,攻击者可直接构造恶意请求,触发远程代码执行漏洞。
该漏洞于12月7日由游戏平台Minecraft用户在网上曝光,据称黑客可以通过操作日志消息(甚至在聊天信息中键入内容),并且还可以在Minecraft服务器端执行恶意代码。Apache log4j官方在7日当天便发布2.15.0-rc1版本以修复漏洞,随后,阿里云、斗象科技、绿盟科技、默安科技、奇安信等安全厂商发布危害通报。
目前受漏洞影响的主要是Apache Log4j 2.x <= 2.14.1版本,当用户使用Apache Log4j2来处理日志时,漏洞会对用户输入的内容进行特殊处理,攻击者便可以在Apache Log4j2中构造特殊请求来触发远程代码执行。
如何判断是否受影响,开发者只需排查在Java应用中是否引入log4j-api, log4j-core两个jar文件,若存在,建议立即进行安全排查,采取防护措施。目前可能受影响的组件有:
Spring-Boot-strater-log4j2
Apache Solr
Apache Flink
Apache Druid
这意味着有大量的第三方应用程序也可能受到了感染与威胁。
如何修复:
尽快将Apache Log4j 2所有相关应用升级到最新的 log4j-2.15.0-rc2 版本,地址:https://github.com/apache/logging-log4j2/releases/tag/log4j-2.15.0-rc2
如果无法尽快更新版本,可以通过以下方法紧急缓解:
a、修改jvm参数 -Dlog4j2.formatMsgNoLookups=true b、修改配置:log4j2.formatMsgNoLookups=True c、系统环境变量 FORMAT_MESSAGES_PATTERN_DISABLE_LOOKUPS设置为true
参考链接:
https://arstechnica.com/information-technology/2021/12/minecraft-and-other-apps-face-serious-threat-from-new-code-execution-bug/
https://help.aliyun.com/noticelist/articleid/1060971232.html