CVE-2026-22184(CVSS 评分 9.3)zlib高危漏洞引发全球性缓冲区溢出风险

阅读量4775

发布时间 : 2026-01-12 17:00:43

x
译文声明

本文是翻译文章,文章原作者 Ddos,文章来源:securityonline

原文地址:https://securityonline.info/cve-2026-22184-cvss-9-3-critical-zlib-flaw-opens-door-to-global-buffer-overflow/

译文仅供参考,具体内容表达以及含义原文为准。

一款被 “几乎所有计算机硬件和操作系统” 采用的无损数据压缩引擎 zlib,被曝出一个高危漏洞。该漏洞编号为CVE-2026-22184,属于全球性缓冲区溢出漏洞,其通用漏洞评分系统(CVSS)分值高达9.3,对所有依赖该函数库中untgz工具的系统构成重大威胁。
该漏洞的根源在于untgz工具代码中存在一处基础性内存管理错误。攻击者只需传入一个超长的压缩包文件名,就能触发连锁式内存损坏,轻则造成系统崩溃,在最坏情况下,甚至可以实现远程代码执行
漏洞的核心问题出在TGZfname()函数中。据漏洞披露信息显示,该函数负责处理通过命令行传入的压缩包文件名,但它存在一个致命缺陷:直接通过无边界检查的strcpy()函数,将攻击者可控的压缩包文件名从argv[]数组复制到一个固定大小为 1024 字节的静态全局缓冲区中
这段代码在执行复制操作前,并未对输入数据的长度进行校验。这意味着,一旦攻击者传入的压缩包文件名长度超过 1024 字节,数据就会溢出缓冲区边界。
报告中解释道:“当传入的压缩包文件名长度超过 1024 字节时,会引发针对全局缓冲区末端的越界写入操作,进而造成内存损坏。”
该漏洞的极高危险性还体现在其攻击门槛极低这一特点上。存在缺陷的代码位于程序的入口环节,“在执行任何压缩包解析或校验操作之前,就会触发该漏洞代码,攻击者仅通过命令行输入就能轻易利用此漏洞”。
攻击者无需构造复杂的恶意文件结构,只需要在调用该工具时,传入一个 “长度足够的文件名参数” 即可发起攻击。
由于此次溢出针对的是全局静态数组,而非栈上分配的内存空间,因此造成的内存损坏具有极强的隐蔽性。报告指出,“内存损坏的影响可能超出该函数的作用域,对后续程序的运行逻辑产生干扰”,最终导致程序出现未定义行为或直接崩溃。
该漏洞造成的后果根据目标环境的编译器、系统架构以及内存布局的不同而有所差异,影响范围涵盖拒绝服务攻击(DoS)潜在代码执行等多个层面。
此漏洞影响范围覆盖所有版本号≤1.3.1.2 的 zlib。相关机构强烈建议,所有使用untgz工具的系统管理员和开发人员,立即评估自身系统的漏洞暴露情况,并尽快部署已修复漏洞的版本,以消除这一高危风险。
本文翻译自securityonline 原文链接。如若转载请注明出处。
分享到:微信
+10赞
收藏
安全客
分享到:微信

发表评论

Copyright © 北京奇虎科技有限公司 三六零数字安全科技集团有限公司 安全KER All Rights Reserved 京ICP备08010314号-66