CVE-2026-42442NanaZip是一款开源文件归档工具。在5.0.1252.0至6.0.1698.0之前的版本中,其UFS/UFS2文件系统解析器存在空指针引用漏洞。该漏洞由解析器未校验根inode类型引起。攻击者可诱导用户打开特制的UFS镜像,将根inode伪造为符号链接。由于解析器错误地将其视为目录并尝试读取,当链接目标尺寸较小时,会导致空指针解引用,引发程序崩溃。该问题已在6.0.1698.0版本修复。
该漏洞的具体技术成因在于NanaZip软件集成的UFS/UFS2文件系统解析器对根inode的处理逻辑存在严重的安全疏漏。在标准的UFS文件系统中,inode编号为2的节点默认作为根目录存在,其类型标志应被设置为IFDIR(目录)。然而,NanaZip的解析代码在读取根inode时,并未对其类型字段进行必要的验证,而是直接假定其为目录并执行后续的解析操作。攻击者利用这一逻辑漏洞,可以精心构造一个恶意的UFS镜像文件。通过修改镜像的元数据,将根inode的类型标志篡改为IFLNK(符号链接),并将di_size(数据大小)字段设置为一个较小的数值。当受害者使用受漏洞影响的NanaZip版本尝试打开或浏览此恶意文件时,解析器会尝试读取该“目录”的内容。由于符号链接在di_size较小时,其数据直接嵌入在inode结构中,导致解析器分配的目录数据缓冲区大小为0。程序随后尝试对该零长度缓冲区进行读取操作,从而触发空指针解引用异常。由于攻击向量为本地且需要用户交互,该漏洞主要被利用于拒绝服务攻击,导致应用程序意外终止。