news 2026/1/30 3:00:46

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

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
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),“保留旧名,替换内容” 是解决此类报错并修复漏洞的唯一可行路径。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/1/28 14:13:39

探秘 AgentRun丨为什么应该把 LangChain 等框架部署到函数计算 AgentRun

作者:江昱 阿里云函数计算 AgentRun 全新发布后,我们整理了“探秘 AgentRun”系列文章,本系列将梳理企业落地 Agent 常见难题,给出具体解法,助力 Agentic AI 快速走进生产级环境。欢迎加入“函数计算 AgentRun 客户群…

作者头像 李华
网站建设 2026/1/27 3:41:25

当数字员工与熊猫智汇结合,如何提升销售转化率?

在当前商业环境中,数字员工以其出色的业务流程优化能力和高效的成本控制,成为企业提升效率的新利器。借助AI销冠系统,这些智能工具能够自动化常规任务,如客户咨询与数据分析,使企业能快速应对市场需求。数字员工的实时…

作者头像 李华
网站建设 2026/1/27 9:30:20

亚马逊DV报告,新旧标准与报告验证

亚马逊 DV 报告(Direct Validation,直接验证)是平台 2025 年 9 月起针对儿童玩具等高风险品类推行的合规机制,核心变化在于流程由卖家自主上传报告转为 TIC 机构直接验证并提交结果,标准更严、报告有效期缩短、验证更规…

作者头像 李华
网站建设 2026/1/29 1:31:36

别再卷参数了!大模型开发必看:如何打造能打的企业级AI Agent

AI Agent正迎来它的“祛魅”时刻:市场的关注焦点,从“模型有多大”转向“业务有多懂”。 当行业发现,仅靠一个参数庞大的通用大模型无法有效解决业务中的难题时,最初的喧嚣开始沉淀,真正的竞赛拉开帷幕。 甲子光年智…

作者头像 李华
网站建设 2026/1/28 4:54:02

方程式赛车发动机进气系统设计与分析

2 进气系统方案设计 2.1 进气系统设计流程 进气系统设计首先是要了解发动机自身特性。此次使用的Aprilia SXV 550【13】发动机是来自高性能公路摩托车阿普利亚Aprilia SXV 550的一款摩托车发动机。发动机,离合器,变速器为一体式结构,变速器末…

作者头像 李华
网站建设 2026/1/29 21:37:51

某精细化工厂高配所

第3章 主接线及配电所设计 3.1工厂配电所主接线设计 3.1.1 概述 主接线图也就是主电路图,是表示系统中电路能输送和分配路线的电路图。而用来控制、测量、和保护主电路(既一次电路)及其中设备运行的电路图,称为二次接线图&…

作者头像 李华