CVE-2026-22184CVE-2026-22184是zlib库中contrib/untgz演示工具的一个高危安全漏洞。zlib是一个广泛使用的开源压缩库,被众多操作系统、编程语言和应用软件所依赖。该漏洞存在于untgz工具的tgzfname函数中,当用户通过命令行传入超长的归档文件名时,会触发固定大小全局缓冲区的溢出写入。这是一个仅影响standalone演示工具的漏洞,不会影响zlib核心压缩库的正常功能,但由于untgz作为zlib源码包的一部分分发,且CVSS评分达到7.8(高危),仍需引起重视。漏洞于2026年1月7日由VulnCheck披露,攻击复杂度低,无需特殊权限即可利用,成功利用可导致机密性、完整性和可用性均为高的严重影响。
该漏洞位于zlib源码库contrib/untgz目录下的untgz.c文件中,具体在处理tgz归档文件名的函数中存在全局缓冲区溢出。漏洞的根本原因是使用固定大小的全局缓冲区存储文件名,而未对用户输入的文件名长度进行充分验证。当攻击者通过命令行向untgz工具传递超过缓冲区容量的超长文件名参数时,过长的数据会写入缓冲区边界之外的内存区域,导致堆栈或全局数据区域被破坏。由于漏洞位于演示工具中,攻击者需要本地访问系统并能够执行untgz命令。攻击者只需构造一个超长的文件名字符串作为命令行参数,即可触发溢出条件。该漏洞属于经典的缓冲区溢出类型,与传统的栈溢出不同,这是全局数据区域的缓冲区溢出。虽然核心zlib压缩库未受影响,但作为zlib官方源码包的一部分,untgz工具的漏洞仍可能通过软件供应链影响终端用户。