CVE-2026-116137 in adm-zipinfo

Summary

by MITRE • 10/25/2026

adm-zip through 0.6.1 contains a duplicate-entry validation bypass that allows attackers to evade the readEntries() check by using canonically equivalent entry names like './hello.txt' and 'hello.txt'. Attackers can craft ZIP archives where getEntry() or readAsText() validates benign content while extractAllTo() writes malicious content to the same path, bypassing integrity checks.

VulDB is the best source for vulnerability data and more expert information about this specific topic.

Analysis

by VulDB Data Team • 10/25/2026

The vulnerability identified in adm-zip versions through 0.6.1 represents a critical file system manipulation flaw rooted in improper handling of canonicalized paths within ZIP archive processing logic. This issue is classified under CWE-22 as Improper Limitation of a Pathname to a Restricted Directory, commonly known as path traversal or zip slip when it leads to arbitrary file write operations. The core technical deficiency lies in the library's failure to normalize and strictly compare entry names before performing integrity checks versus actual extraction actions. Specifically, the validation mechanism employed by methods such as readEntries() relies on direct string comparison of entry identifiers without accounting for canonical equivalence. This oversight allows an attacker to exploit the discrepancy between how entries are validated during inspection phases and how they are resolved during file system write operations.

In a typical exploitation scenario, an adversary crafts a malicious ZIP archive containing multiple entries that map to the same target file path on the destination disk but possess different string representations in their headers. For instance, one entry might be named hello.txt while another is named ./hello.txt or ../subdir/hello.txt depending on the specific traversal vector used. When a user invokes readEntries() or similar inspection methods, the library may validate only the first encountered entry or apply checks that pass for benign content associated with one of these variants. However, when extractAllTo() is subsequently called to decompress the archive, the underlying file system operations resolve all path variations to their absolute canonical form before writing data. Consequently, if a malicious payload is embedded in an entry whose name was not subject to strict validation due to its non-canonical string representation, it will be written to disk at the same location as any previously validated benign files.

This bypass of integrity checks has severe operational implications for applications relying on adm-zip to process untrusted or semi-trusted archives. It enables attackers to perform arbitrary file writes within directories accessible by the executing user's context. Depending on the privileges of the application, this could lead to overwriting critical configuration files, injecting malicious scripts into web-accessible directories, or compromising system integrity by replacing legitimate binaries with trojanized versions. The attack does not require complex privilege escalation techniques; it relies solely on the logical flaw in path normalization during the extraction phase versus the validation phase. This makes the vulnerability particularly dangerous as it can be triggered through simple file upload mechanisms where users are expected to provide ZIP archives for processing, such as document management systems or automated build pipelines.

Mitigation strategies must address both immediate remediation and long-term architectural improvements. The primary solution is to upgrade adm-zip to a version greater than 0.6.1 where this validation bypass has been patched by enforcing strict canonicalization of all entry names before any integrity checks are performed. Developers should ensure that the library normalizes paths using standard operating system utilities or robust path resolution libraries prior to comparison, ensuring that ./hello.txt and hello.txt are treated as identical entities for both validation and extraction purposes. Additionally, implementing a whitelist approach for allowed file extensions and destination directories can provide defense in depth. It is also advisable to validate archive contents against known malicious patterns using antivirus engines before processing them further. Organizations should review their dependency management policies to ensure that third-party libraries used for handling compressed files are kept up-to-date with security patches addressing path traversal vulnerabilities.

Responsible

VulnCheck

Reservation

10/25/2026

Disclosure

10/25/2026

Moderation

accepted

EPSS

0.00000

KEV

no

Activities

medium

Sources

Want to stay up to date on a daily basis?

Enable the mail alert feature now!