adm-zip: adm-zip: Denial of Service via crafted ZIP file leading to excessive memory allocation
Default status is the baseline for the product, each version can override it (e.g. patched versions marked unaffected).
| Vendor | Product | Default status | Versions | ||||||
|---|---|---|---|---|---|---|---|---|---|
| n/a | n/a | affected |
|
No data.
No data.
| Vendor | Product | Versions | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|
| Cthackers | Adm-zip |
|
| Source | ID | Title |
|---|---|---|
Github GHSA |
GHSA-xcpc-8h2w-3j85 | adm-zip: Crafted ZIP file triggers 4GB memory allocation |
No CVSS v4.0
No CVSS v3.0
No CVSS v2
This CVE is not in the KEV list.
Exploit prediction score: < 1% (0.841% probability within 30 days)
| Type | Values Removed | Values Added |
|---|---|---|
| First Time appeared |
Cthackers
Cthackers adm-zip |
|
| Vendors & Products |
Cthackers
Cthackers adm-zip |
| Type | Values Removed | Values Added |
|---|---|---|
| Title | adm-zip: adm-zip: Denial of Service via crafted ZIP file leading to excessive memory allocation | |
| Weaknesses | CWE-409 | |
| References |
| |
| Metrics |
threat_severity
|
threat_severity
|
| Type | Values Removed | Values Added |
|---|---|---|
| Title | Memory Allocation Amplification Causes Denial of Service in adm-zip |
| Type | Values Removed | Values Added |
|---|---|---|
| Title | Memory Allocation Amplification Causes Denial of Service in adm-zip |
| Type | Values Removed | Values Added |
|---|---|---|
| Title | Denial of Service via Unvalidated Uncompressed Size in adm‑zip ZIP Extraction |
| Type | Values Removed | Values Added |
|---|---|---|
| Title | Denial of Service via Unvalidated Uncompressed Size in adm‑zip ZIP Extraction |
| Type | Values Removed | Values Added |
|---|---|---|
| Weaknesses | CWE-400 | |
| Metrics |
cvssV3_1
|
| Type | Values Removed | Values Added |
|---|---|---|
| Description | adm-zip before 0.5.18 is vulnerable to denial of service via a crafted ZIP file with a manipulated uncompressed size header field. In zipEntry.js line 103, Buffer.alloc(_centralHeader.size) allocates memory based on the declared uncompressed size from the ZIP central directory header without validating it against the actual compressed data size or imposing any upper bound. The size value is read directly from the binary header at entryHeader.js line 266 with no bounds check. An attacker can craft a ~120-byte ZIP file that declares ~4GB uncompressed size, causing a memory allocation amplification ratio of over 33 million to 1. The allocation occurs before CRC validation, so the malicious payload cannot be rejected early. All extraction and read methods are affected: readFile(), readAsText(), extractEntryTo(), extractAllTo(), extractAllToAsync(), test(), and entry.getData(). Any application accepting untrusted ZIP files via adm-zip is vulnerable to immediate process crash. | |
| References |
|