PatchSiren cyber security CVE debrief
CVE-2026-115909 zip-rs CVE debrief
The CVE-2026-115909 vulnerability in the zip library allows for an unbounded memory allocation during the extraction of symbolic links, potentially leading to a denial of service (DoS) attack. This issue arises from the `ZipArchive::extract_internal()` function, which allocates a buffer based on an attacker-declared size before reading any entry data. A specially crafted 112-byte archive can terminate the extraction process with a `SIGABRT` signal due to this infallible allocation. The vulnerability is caused by the lack of bounds checking on the `uncompressed_size` value obtained from the central directory record of the ZIP file.
- Vendor
- zip-rs
- Product
- zip
- CVSS
- HIGH 7.5
- CISA KEV
- Not listed in stored evidence
- Original CVE published
- 2026-10-29
- Original CVE updated
- 2026-10-29
- Advisory published
- 2026-10-29
- Advisory updated
- 2026-10-29
Who should care
Defenders who handle ZIP files from untrusted sources, especially in systems that use the zip library, should be aware of this vulnerability and prioritize patching or mitigating it to prevent potential denial of service (DoS) attacks.
Why it matters
The CVE-2026-115909 vulnerability in the zip library allows for an unbounded memory allocation during the extraction of symbolic links, potentially leading to a denial of service (DoS) attack. Defenders should prioritize patching or mitigating this vulnerability, especially in systems that handle ZIP files from untrusted sources.
- Denial of Service (DoS) via unbounded memory allocation
- Potential for resource exhaustion during ZIP file extraction
Technical summary
The `ZipArchive::extract_internal()` function in the zip library allocates a buffer using an attacker-declared size before reading any entry data. This can lead to an unbounded memory allocation, potentially causing a denial of service (DoS) attack. The issue arises from the lack of bounds checking on the `uncompressed_size` value obtained from the central directory record of the ZIP file. A specially crafted 112-byte archive can terminate the extraction process with a `SIGABRT` signal due to this infallible allocation. Defenders should prioritize patching or mitigating this vulnerability, especially in systems that handle ZIP files from untrusted sources.
Defensive priority
Defenders should prioritize patching or mitigating this vulnerability, especially in systems that handle ZIP files from untrusted sources, as it can lead to a denial of service.
Recommended defensive actions
- Patch the zip library to version 9.0.0 or later
- Implement bounds checking on the `uncompressed_size` value
- Use a try-except block to handle potential exceptions during ZIP file extraction
- Review compensating controls for exposed systems while remediation is scheduled and verified
- Check relevant monitoring, detection, and logs for exposed assets that need extra review
- Track exceptions, retest remediated assets, and close the item only after evidence is documented
- Confirm whether affected product deployments exist in managed environments and assign an owner for follow-up
Evidence notes
The vulnerability is confirmed by the CVE record and the source item from osv_dev. The issue is caused by the unbounded memory allocation in the `ZipArchive::extract_internal()` function. The source code of the vulnerable function is provided, and the affected versions of the zip library are specified.
Sources and references
Verified primary and authoritative sources
-
CVE-2026-115909 CVE Program record
Publisher, destination, and source semantics verified
URL: https://www.cve.org/CVERecord?id=CVE-2026-115909
CVE Program - Official CVE Program record with source-provided CVE metadata.
-
CVE-2026-115909 NVD vulnerability detail
Publisher, destination, and source semantics verified
URL: https://nvd.nist.gov/vuln/detail/CVE-2026-115909
NIST National Vulnerability Database - Official NIST NVD detail page and source-specific vulnerability assessment.
Supplemental references
-
zip: Unbounded Symlink-Target Handling Can Abort Or Exhaust Memory During Extraction
Unverified legacy reference
URL: https://storage.googleapis.com/osv-vulnerabilities/crates.io/GHSA-q7v9-x93c-xqv3.json
osv_dev
-
Source reference
Unverified legacy reference
URL: https://github.com/zip-rs/zip2/security/advisories/GHSA-q7v9-x93c-xqv3
Supplemental source
-
Source reference
Unverified legacy reference
URL: https://github.com/zip-rs/zip2/pull/984
Supplemental source
-
Source reference
Unverified legacy reference
URL: https://github.com/zip-rs/zip2/commit/a543a1fc8f3f3eef36f27bb137230295284cdb98
Supplemental source
-
Source reference
Unverified legacy reference
URL: https://github.com/zip-rs/zip2
Supplemental source
-
Source reference
Unverified legacy reference
URL: https://github.com/zip-rs/zip2/releases/tag/v9.0.0
Supplemental source
Methodology and review provenance
AI-assisted synthesis based on stored public vulnerability evidence. System validation, approval state, and publication status do not by themselves establish human review of this revision. PatchSiren helps prioritize defensive review and does not prove exposure or remediation on any system.