当前位置: 首页 > news >正文

Logstash修复漏洞:Jackson-core 安全漏洞(CVE-2025-52999)

背景:

项目使用的logstash版本为:7.16.1,先存在漏洞需要修复,Jackson-core 安全漏洞(CVE-2025-52999)。但通过直接替换Jar包,服务启动失败,故无法通过替换jar包方式修复。

思路:

1、查阅资料,了解到:由于 Logstash 是一个打包好的应用程序,直接替换其中的 Jar 包可能会导致兼容性问题,因此需要根据部署方式采取不同的措施。

2、目前项目在使用,故我们不通过官网升级,这样配置需要重新调整,耗时。

3、采用Logstash 的“覆盖 Jar”机制,未解决。

  • 原理:
    Logstash 的类加载机制会优先加载logstash-core/lib/logstash-overrides目录下的 Jar 包。
  • 操作步骤:
    1. 下载修复版 Jar:去 Maven 中央仓库下载对应版本的jackson-corejackson-databindjackson-annotationsJar 包(通常需要保持 Jackson 系列版本一致)。
      • *注意:必须确保下载的 Jackson 版本与 Logstash 内部使用的 Java 版本兼容,且 API 变化不会导致 Logstash 核心崩溃。*
    2. 放置文件:将下载的 Jar 包复制到 Logstash 安装目录下的logstash-core/lib/logstash-overrides/文件夹中(如果该文件夹不存在,请手动创建)。
    3. 重启 Logstash:重启服务使更改生效。
    4. 验证:通过日志或进程检查加载的 Jar 版本是否已更新。

4、狸猫换太子,解决。

开干1:

1、创建覆盖目录(如果不存在),并复制新 Jar 包

[root@pbase1 lib]# mkdir logstash-overrides [root@pbase1 lib]# cd logstash-overrides/ [root@pbase1 logstash-overrides]# cp /data/soft/jackson-core-2.15.0.jar ./ [root@pbase1 logstash-overrides]# ls jackson-core-2.15.0.jar [root@pbase1 logstash-overrides]# cp /data/soft/jarbak/jackson-annotations-2.15.0.jar ./ [root@pbase1 logstash-overrides]# cp /data/soft/jarbak/jackson-databind-2.15.0.jar ./ [root@pbase1 logstash-overrides]# ll total 2192 -rw-r----- 1 root root 75564 Jan 22 15:35 jackson-annotations-2.15.0.jar -rw-r----- 1 root root 542635 Jan 22 15:34 jackson-core-2.15.0.jar -rw-r----- 1 root root 1619579 Jan 22 15:36 jackson-databind-2.15.0.jar

2、重启 Logstash

[root@pbase1 logstash-overrides]# systemctl restart logstash.service [root@pbase1 ~]# journalctl -u logstash.service -f Jan 22 15:37:35 pbase1 systemd[1]: Stopping logstash... Jan 22 15:37:36 pbase1 logstash[2958863]: warning: thread "Ruby-0-Thread-76: :1" terminated with exception (report_on_exception is true): Jan 22 15:37:36 pbase1 logstash[2958863]: IOError: stream closed in another thread Jan 22 15:37:36 pbase1 logstash[2958863]: accept at org/jruby/ext/socket/RubyTCPServer.java:153 Jan 22 15:37:36 pbase1 logstash[2958863]: tcp_listener at /usr/local/logstash-7.16.1/vendor/bundle/jruby/2.5.0/gems/logstash-input-gelf-3.3.0/lib/logstash/inputs/gelf.rb:127 Jan 22 15:37:36 pbase1 logstash[2958863]: run at /usr/local/logstash-7.16.1/vendor/bundle/jruby/2.5.0/gems/logstash-input-gelf-3.3.0/lib/logstash/inputs/gelf.rb:76 Jan 22 15:37:36 pbase1 systemd[1]: logstash.service: Main process exited, code=exited, status=1/FAILURE Jan 22 15:37:36 pbase1 systemd[1]: logstash.service: Failed with result 'exit-code'. Jan 22 15:37:36 pbase1 systemd[1]: Stopped logstash. Jan 22 15:37:36 pbase1 systemd[1]: Started logstash. Jan 22 15:37:36 pbase1 logstash[3272989]: Using JAVA_HOME defined java: /usr/local/logstash-7.16.1/jdk Jan 22 15:37:36 pbase1 logstash[3272989]: WARNING: Using JAVA_HOME while Logstash distribution comes with a bundled JDK. Jan 22 15:37:36 pbase1 logstash[3272989]: DEPRECATION: The use of JAVA_HOME is now deprecated and will be removed starting from 8.0. Please configure LS_JAVA_HOME instead. Jan 22 15:37:58 pbase1 logstash[3272989]: Sending Logstash logs to /data/logstash/logs which is now configured via log4j2.properties

3、验证修复:

  • 检查进程:查看 Logstash Java 进程启动参数,确认 classpath 包含了logstash-overrides

  • 检查日志:观察logstash.log启动日志,确保没有出现Jackson相关的报错,重启时候已验证。
  • 检查前台是否有日志收集到。

结果,扫描器,仍然能扫到:

开干2(狸猫换太子):

1、备份旧文件

2、准备新 Jar 包

3、替换文件

[root@pbase1 jackson-core]# ls 2.15.0.bak 2.9.10 [root@pbase1 jackson-core]# cd 2.9.10/ [root@pbase1 2.9.10]# ls jackson-core-2.15.0.jarbak jackson-core-2.9.10.jar [root@pbase1 2.9.10]# mv jackson-core-2.9.10.jar jackson-core-2.9.10.jar.z [root@pbase1 2.9.10]# mv jackson-core-2.15.0.jarbak jackson-core-2.9.10.jar [root@pbase1 2.9.10]# systemctl restart logstash.service

4、检查其他 Jackson 组件(强烈建议)

通常jackson-databindjackson-annotations也在同一个版本(2.9.10)。为了防止NoSuchMethodError,建议用同样的方法替换它们:

  1. 找到它们的位置:
    • .../com/fasterxml/jackson/databind/jackson-databind/2.9.10/jackson-databind-2.9.10.jar
    • .../com/fasterxml/jackson/annotations/jackson-annotations/2.9.10/jackson-annotations-2.9.10.jar
  2. 下载对应的新版本 Jar。
  3. 重命名为2.9.10后缀。
  4. 替换原文件。

5、修复验证,和上面几乎一样。

6、使用unzip验证真实版本(给安全团队看的证据):

[root@pbase1 2.9.10]# ls jackson-core-2.9.10.jar jackson-core-2.9.10.jar.z [root@pbase1 2.9.10]# unzip -p jackson-core-2.9.10.jar META-INF/MANIFEST.MF | grep "Bundle-Version" Bundle-Version: 2.15.0

输出结果:如果显示Bundle-Version: 2.13.4(即你下载的真实版本),说明修复成功,尽管文件名还是旧的。

总结

由于 Logstash 7.x 的插件依赖锁死死地绑定了特定版本号(2.9.10),“保留旧名,替换内容” 是解决此类报错并修复漏洞的唯一可行路径。

http://www.jsqmd.com/news/285152/

相关文章:

  • GB/T 4857.17标准,GB/T 4857.17-2017《运输包装件性能试验大纲编制通用规则》解读
  • YOLO5目标检测方案-基于米尔RK3576开发板
  • YOLOv8 智能肿瘤检测系统:从图像处理到诊断的深度学习应用与源码解析
  • 喀山联邦大学留学中介申请机构为什么选致俄:立足区域重镇,服务深耕无忧
  • 飞行影院投资成本详解:球幕影院投资多少能实现盈利
  • 2026年行业内正规的除尘器门盖批发厂家哪家靠谱,布袋除尘器/除尘器门盖/通风阀门,除尘器门盖供货商推荐排行榜
  • 冲浪爱好者福音:专业电动冲浪板厂家,终于来啦!
  • 敏捷认证PSM考试码购买指南(Scrum Master认证)
  • GB/T4857.5跌落测试,跌落高度GBT4857.5标准
  • 轨道影院投资得多少钱:揭秘飞行影院的成本与潜在收益分析
  • Solidity写到崩溃?全栈开发让你3天搞定DApp上线
  • 全栈监控与告警设计——从SLO到告警规则,避免告警雪崩的分级体系
  • WebGIS、桌面GIS、移动GIS、三维GIS的区别
  • 亲测好用8个AI论文平台,助你轻松搞定本科毕业论文!
  • 《信息与控制》刊发西建大与西工大成果:NOKOV动捕助力基于VR与眼动追踪的人-集群机器人交互实验研究
  • 外贸公司邮箱:国际业务沟通必备工具
  • 拼多多食品代运营公司哪家靠谱?从案例和口碑看答案
  • ‌10亿投资换300万供电!山西电网保供硬核升级
  • 2026年空乘实训室建设:多媒体供应商挑选的智慧之道,目前比较好的实训室生产厂家忠军装备专注行业多年经验,口碑良好
  • 认养一头牛官宣演员赵丽颖成为品牌代言人
  • 2026山东辐射防护器材厂家TOP5推荐:全链实力引领行业发展
  • langgraph搭建智能体各个组件使用与总结
  • 阿里云可观测 2025 年 12 月产品动态
  • 斩杀线越来越火
  • 当数字员工与熊猫智汇结合,如何提升销售转化率?
  • RHCSA—搭建论坛
  • 2026年市面上诚信的氟塑料磁力泵供应商电话,耐腐蚀磁力泵/耐酸碱磁力泵/衬氟磁力泵/磁力泵,氟塑料磁力泵供应商推荐
  • 维生素B族哪个牌子好?2026维生素B族科学选购手册:3大核心指标测评,亚健康人群不踩雷
  • 蓝牙音响CE认证办理流程
  • 卤素水分测定仪/水分测试仪哪个品牌好?口碑、品质、售后服务全解析