arthas icon indicating copy to clipboard operation
arthas copied to clipboard

请升级一下依赖 jackson-databind 的版本

Open yjqg6666 opened this issue 1 year ago • 6 comments

  • [x] 我已经在 issues 里搜索,没有重复的issue。

环境信息

  • arthas-boot.jar 或者 as.sh 的版本: 3.6.8
  • Arthas 版本: 3.6.8
  • 操作系统版本: 无关
  • 目标进程的JVM版本: 无关
  • 执行arthas-boot的版本: 3.6.8

重现问题的步骤

发版打包出来的arthas-core.jar 里面存在依赖低版本的 com.fasterxml.jackson.core:jackson-databind:2.7.9.4 , 该版本发版日期为 2018年6月, maven中央仓库上面显示的CVE漏洞目前已经有47个,其中紧急CVE漏洞有 23个,最近的紧急漏洞为:CVE-2020-9548 修复版本为 2.9.10.4, 该系列下最新的版本号为 2.9.10.8。 2.9.10.8存在已知CVE: CVE-2022-42004 score: high 7.5 受BeanDeserializer._deserializeFromArray 功能影响,反序列化时产生问题。 CVE-2022-42003 score: high 7.5 UNWRAP_SINGLE_VALUE_ARRAYS 特性启用时受影响 CVE-2020-36518 score: high 7.5 DOS风险

2.7.9.4版本严重的CVE有:

  1. CVE-2017-15095
  2. CVE-2017-17485
  3. CVE-2018-14718
  4. CVE-2018-14719
  5. CVE-2018-14720
  6. CVE-2018-14721
  7. CVE-2018-19360
  8. CVE-2018-19361
  9. CVE-2018-19362
  10. CVE-2018-7489
  11. CVE-2019-14379
  12. CVE-2019-14540
  13. CVE-2019-14893
  14. CVE-2019-16335
  15. CVE-2019-16942
  16. CVE-2019-16943
  17. CVE-2019-17267
  18. CVE-2019-17531
  19. CVE-2019-20330
  20. CVE-2020-8840
  21. CVE-2020-9546
  22. CVE-2020-9547
  23. CVE-2020-9548

建议评估一下是否可以升级到 2.9.10.8 版本。

如无特殊用法要求和自动化测试有较高覆盖率的话, 建议使用版本2.13.5 2.14.2, 目前无已知漏洞。

期望的结果

依赖的jackson-databind版本升级至无严重安全漏洞的版本。

实际运行的结果

使用了很低版本带安全风险的组件,存在被利用的风险。

yjqg6666 avatar Apr 26 '23 10:04 yjqg6666

$ ./mvnw -Dincludes="com.fasterxml.jackson.core:jackson-databind:*" dependency:tree

[INFO] -------------------< com.taobao.arthas:arthas-core >-------------------- [INFO] Building arthas-core 3.6.8 [10/19] [INFO] --------------------------------[ jar ]--------------------------------- [INFO] [INFO] --- maven-dependency-plugin:2.8:tree (default-cli) @ arthas-core --- [INFO] com.taobao.arthas:arthas-core:jar:3.6.8 [INFO] - com.alibaba.middleware:termd-core:jar:1.1.7.12:compile [INFO] - com.fasterxml.jackson.core:jackson-databind:jar:2.7.9.4:compile

是由 com.alibaba.middleware:termd-core:1.1.7.12 引入的依赖, 可以考虑升级该包的版本, 该版本外部无更新的版本可用,该包2021年9月发布,存在CVE 79个(最早的为 CVE-2016-5725), 也建议适当更新该依赖。

yjqg6666 avatar Apr 26 '23 10:04 yjqg6666

[INFO] -------------------< com.taobao.arthas:arthas-core >-------------------- [INFO] Building arthas-core 3.6.8 [10/19] [INFO] --------------------------------[ jar ]--------------------------------- [INFO] [INFO] --- maven-dependency-plugin:2.8:tree (default-cli) @ arthas-core --- [INFO] com.taobao.arthas:arthas-core:jar:3.6.8 [INFO] - com.alibaba.middleware:termd-core:jar:1.1.7.12:compile [INFO] - com.fasterxml.jackson.core:jackson-databind:jar:2.7.9.4:compile [INFO] -----------------< com.taobao.arthas:arthas-packaging >----------------- [INFO] Building arthas-packaging 3.6.8 [16/19] [INFO] --------------------------------[ jar ]--------------------------------- [INFO] [INFO] --- maven-dependency-plugin:2.8:tree (default-cli) @ arthas-packaging --- [INFO] com.taobao.arthas:arthas-packaging:jar:3.6.8 [INFO] - com.taobao.arthas:arthas-core:jar:3.6.8:provided [INFO] - com.alibaba.middleware:termd-core:jar:1.1.7.12:provided [INFO] - com.fasterxml.jackson.core:jackson-databind:jar:2.7.9.4:provided [INFO] [INFO] ------------< com.taobao.arthas:arthas-spring-boot-starter >------------ [INFO] Building arthas-spring-boot-starter 3.6.8 [17/19] [INFO] --------------------------------[ jar ]--------------------------------- [INFO] [INFO] --- maven-dependency-plugin:2.8:tree (default-cli) @ arthas-spring-boot-starter --- [INFO] com.taobao.arthas:arthas-spring-boot-starter:jar:3.6.8 [INFO] - org.springframework.boot:spring-boot-starter-actuator:jar:2.7.0:provided [INFO] - org.springframework.boot:spring-boot-actuator-autoconfigure:jar:2.7.0:provided [INFO] - com.fasterxml.jackson.core:jackson-databind:jar:2.13.3:provided [INFO] [INFO] ---------------< com.taobao.arthas:arthas-tunnel-server >--------------- [INFO] Building arthas-tunnel-server 3.6.8 [18/19] [INFO] --------------------------------[ jar ]--------------------------------- [INFO] [INFO] --- maven-dependency-plugin:2.8:tree (default-cli) @ arthas-tunnel-server --- [INFO] com.taobao.arthas:arthas-tunnel-server:jar:3.6.8 [INFO] - org.springframework.boot:spring-boot-starter-webflux:jar:2.7.0:compile [INFO] - org.springframework.boot:spring-boot-starter-json:jar:2.7.0:compile [INFO] - com.fasterxml.jackson.core:jackson-databind:jar:2.13.3:compile

yjqg6666 avatar Apr 26 '23 10:04 yjqg6666

主要是之前要支持 jdk 6的应用。后续切换到 jdk8之后,统一升级一波。

hengyunabc avatar Apr 28 '23 08:04 hengyunabc

@hengyunabc 本地可以使用 mvn org.owasp:dependency-check-maven:8.2.1:check扫描依赖有没有CVE安全问题 。新机器初次会比较慢会下载漏洞库, 后面就快了。扫描完成可以浏览器打开 target/dependency-check-report.html 查看扫描结果。

yjqg6666 avatar Apr 28 '23 11:04 yjqg6666

这个有计划再4.x中解决嘛?还是说会在3.x中也会解决,有具体的计划嘛?

gangxie112 avatar Dec 06 '23 02:12 gangxie112

对此issue有什么计划更新依赖么

hli6-sc avatar Feb 13 '24 15:02 hli6-sc

升级到 2.12.7.2 : https://github.com/alibaba/termd/commit/c9e76ac0c380235af39915f9aed71452cfaedc62

hengyunabc avatar Jul 21 '24 13:07 hengyunabc