Description
fflate through 0.8.2 is vulnerable to denial of service via an infinite loop in unzipSync(). A crafted ZIP archive with a central directory entry declaring compressed_size=0xFFFFFFFF (ZIP64 sentinel) but missing the required ZIP64 extra field tag 0x0001 causes z64e() to loop indefinitely due to out-of-bounds reads returning undefined, which coerces to 0, keeping the loop condition permanently true.
Published: 2026-07-22
Score: 6.6 Medium
EPSS: < 1% Very Low
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

The vulnerability is an infinite loop inside the unzipSync() function of the fflate library. A crafted ZIP archive that declares a compressed_size of 0xFFFFFFFF but omits the required ZIP64 extra field tag causes the z64e() routine to read undefined values. Because these resolve to 0, the loop never ends, resulting in a denial of service. The weakness is an example of uncontrolled resource consumption (CWE‑400) and an infinite loop (CWE‑835).

Affected Systems

The flaw affects the fflate JavaScript compression library distributed by 101arrowz. All versions up to and including 0.8.2 are vulnerable. Systems that use fflate to extract ZIP files, particularly server‑side code or client applications that accept untrusted archives, are impacted.

Risk and Exploitability

The CVSS v3 base score of 6.6 places the issue in the medium severity range. The EPSS score is below 1 % and the vulnerability is not currently listed in the CISA KEV catalog, suggesting that exploitation is unlikely at present. Based on the description, it is inferred that if an attacker can supply a malicious ZIP file to a process that calls unzipSync(), the delivery of such a file will trigger the endless loop and freeze the process. Because the vulnerability requires only a specially crafted archive and does not rely on elevated privileges, remote exploitation is possible wherever fflate is used to decompress externally supplied data.

Generated by OpenCVE AI on August 4, 2026 at 15:47 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade to the latest fflate release that fixes the unzipSync loop issue.
  • Implement ZIP archive validation that checks for the presence of the ZIP64 extra field tag when a compressed_size of 0xFFFFFFFF is used; reject archives that do not conform before invoking unzipSync.
  • Add a timeout or resource limit around unzipSync calls so that if the decompress function runs longer than a predefined threshold, the operation is aborted and the process can recover.
  • If the library is used in environments that cannot upgrade promptly, temporarily disable unzipSync for untrusted archives or switch to a different library that performs stricter validation.

Generated by OpenCVE AI on August 4, 2026 at 15:47 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Tue, 04 Aug 2026 16:15:00 +0000

Type Values Removed Values Added
Title Infinite Loop Denial of Service in fflate's unzipSync via malformed ZIP64 Headers

Sun, 02 Aug 2026 18:45:00 +0000

Type Values Removed Values Added
Title Infinite Loop Denial of Service in fflate's unzipSync via malformed ZIP64 Headers

Tue, 28 Jul 2026 18:30:00 +0000

Type Values Removed Values Added
Title Denial of Service via Infinite Loop in fflate unzipSync

Thu, 23 Jul 2026 21:45:00 +0000

Type Values Removed Values Added
Title Denial of Service via Infinite Loop in fflate unzipSync
First Time appeared 101arrowz
101arrowz fflate
Vendors & Products 101arrowz
101arrowz fflate

Wed, 22 Jul 2026 13:30:00 +0000

Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'yes', 'Exploitation': 'none', 'Technical Impact': 'partial'}, 'version': '2.0.3'}


Wed, 22 Jul 2026 07:30:00 +0000

Type Values Removed Values Added
Description fflate through 0.8.2 is vulnerable to denial of service via an infinite loop in unzipSync(). A crafted ZIP archive with a central directory entry declaring compressed_size=0xFFFFFFFF (ZIP64 sentinel) but missing the required ZIP64 extra field tag 0x0001 causes z64e() to loop indefinitely due to out-of-bounds reads returning undefined, which coerces to 0, keeping the loop condition permanently true.
Weaknesses CWE-400
CWE-835
References
Metrics cvssV4_0

{'score': 6.6, 'vector': 'CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N/E:U/S:N/AU:Y/R:U/V:D/RE:M/U:Amber'}


Subscriptions

101arrowz Fflate
cve-icon MITRE

Status: PUBLISHED

Assigner: seal

Published:

Updated: 2026-07-22T12:53:38.246Z

Reserved: 2026-05-13T12:03:13.544Z

Link: CVE-2026-45820

cve-icon Vulnrichment

Updated: 2026-07-22T12:53:34.532Z

cve-icon NVD

No data.

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-08-04T16:00:12Z

Weaknesses
  • CWE-400

    Uncontrolled Resource Consumption

  • CWE-835

    Loop with Unreachable Exit Condition ('Infinite Loop')