Skip to main content

zchunk CVE-2026-117556

| EUVDEUVD-2026-110834 MEDIUM
Out-of-bounds Read (CWE-125)
2026-10-27 VulnCheck GHSA-xcf7-q4j8-4wvv
5.3
CVSS 4.0 · Vendor: VulnCheck
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Host crafted .zck metadata file
  2. Exploit
    Victim tool fetches/parses header
  3. Execution
    Header ends inside compint, read_preface() over-reads heap buffer
  4. Impact
    Application crashes (denial of service)

Vulnerability Assessment

Weakness
CWE
ASVS 5.0
V15 - Secure Coding and Architecture Bounds checking, read limits
MITRE ATT&CK

1 technique across 1 tactic: Collection

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

The target application must parse an attacker-supplied, crafted .zck file whose header is truncated so that it ends inside a compressed integer; this triggers read_preface() to pass the total header length instead of the remaining byte count to compint_to_size/compint_to_int, over-reading the heap header buffer. No authentication is required (PR:N), and no special non-default configuration is named - any build before 1.5.5 that processes untrusted .zck input is affected. Limiting factors: the victim application must actually ingest the malicious file (UI:P, passive - e.g. automatic metadata fetch), and the only confirmed outcome is a crash (VA:L) with no code execution, data disclosure, or integrity impact, so realistic risk is denial of service against the parsing process.

Impact

Signals are consistent and point to a moderate, availability-only issue rather than a top-priority emergency. The CVSS 4.0 base score is 5.3 (medium) with vector AV:N/AC:L/AT:N/PR:N/UI:P and impact confined to VA:L - a crash - while VC:N and VI:N confirm no confidentiality or integrity impact despite the CWE-125 out-of-bounds read; the sources state the over-read only crashes the application and do not describe any leak of data back to the attacker. The vuln.today decision label is 'this_month', not act_now or emergency, matching a DoS-class defect with an available patch. This is NOT in CISA KEV, so there is no confirmed active exploitation, and no EPSS score was supplied, so widespread-exploitation probability cannot be quantified from the input - this gap should be noted rather than assumed low or high. No confirmed working public exploit is provided; the fix commit ships a regression test that only detects the over-read under a memory sanitizer (valgrind/ASan). Net assessment: a real but bounded issue - remote, unauthenticated triggering is plausible because .zck files are typically fetched automatically as repository metadata, but the worst realistic outcome is a process crash, so treat it as routine patching within the normal cycle, not an urgent drop-everything fix.

Exploit ScenarioDerived

An attacker crafts a malicious .zck file whose header is truncated so it ends in the middle of a compressed integer and supplies it to a victim (for example as poisoned repository metadata fetched by a zchunk-based tool). When the victim's application calls read_preface() in src/lib/header.c, the total header length rather than the remaining byte count is passed to the compint parser, so parsing reads past the end of the heap header buffer and the process crashes. No confirmed working public exploit is provided; the patch includes a sanitizer-only regression test demonstrating the over-read, consistent with the AV:N/AC:L/UI:P vector.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
Patch available 0.3% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Oct 28, 2026

Heap out-of-bounds read in zchunk before 1.5.5 allows unauthenticated remote attackers to crash an application that parses a crafted .zck file, with user interaction required because the victim must ingest the malicious archive. The flaw is in read_preface() in src/lib/header.c, which passes the total header length instead of the remaining byte count to compressed-integer parsing, so a header truncated inside a compressed integer causes reads past the heap header buffer. Moderate severity (CVSS 5.3), availability-only impact; no public exploit identified at time of analysis, and vendor-released patch 1.5.5 is available.

RemediationAI

Vendor-released patch: 1.5.5. Upgrade to zchunk 1.5.5; the patch commit is https://github.com/zchunk/zchunk/commit/02b371a64bf98245df97315d07c684a0ca5ea1df and the release is https://github.com/zchunk/zchunk/releases/tag/1.5.5. The fix corrects read_preface() to pass remaining length (max_length - length) to compint parsing and adds a zero-length guard in compint.c. No separate vendor-documented workaround is provided in the available sources; until upgrading, restrict parsing of untrusted .zck files with vulnerable builds, with the trade-off that untrusted zchunk content cannot be processed. See also GitHub issue https://github.com/zchunk/zchunk/issues/119 and VulnCheck advisory https://www.vulncheck.com/advisories/zchunk-before-1.5.5-heap-out-of-bounds-read-via-read-preface.

Affected VersionsENISA

zchunk 0 <1.5.5

Affected Packages

euvd zchunk fix: 1.5.5

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

zchunk is a compressed file format and library used for deltas and repository metadata; its header contains a preface of compressed integers parsed by compint_to_size() and compint_to_int() in src/lib/compint.c. In read_preface() (src/lib/header.c, around line 167 in 1.5.4), the code passed max_length (the total header length) as the bound for each compint parse instead of max_length - length (remaining bytes after the current offset). When a crafted .zck header ends inside a compressed integer, the parser can continue reading past the heap-allocated header buffer, a CWE-125 out-of-bounds read. The upstream fix subtracts the consumed length at each call and adds a max_length == 0 guard in compint.c that sets a fatal 'Read past end of header' error; the commit also adds a regression test that runs under ASan or valgrind. CPE cpe:2.3:a:zchunk:zchunk:*:*:*:*:*:*:*:* covers versions before 1.5.5; EUVD lists affected range 0 <1.5.5. The assessed impact is a crash (availability only), not code execution or data disclosure.

Know when Zchunk gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (VulnCheck) PRIMARY 5.3 MEDIUM
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:P/VC:N/VI:N/VA:L/SC:N/SI:N/SA:N
vuln.today AI 4.3 MEDIUM

Remotely supplied crafted file parsed without privileges (AV:N/AC:L/PR:N), requires the victim app to process the file (UI:R); impact is a crash only, so A:L with C:N/I:N.

3.1 AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:L
4.0 AV:N/AC:L/AT:N/PR:N/UI:P/VC:N/VI:N/VA:L/SC:N/SI:N/SA:N

Primary rating from Vendor (VulnCheck).

CVSS VectorVendor: VulnCheck

Attack Vector
Network
Attack Complexity
Low
Attack Requirements
None
Privileges Required
None
User Interaction
Passive
Vulnerable system: Confidentiality
None
Vulnerable system: Integrity
None
Vulnerable system: Availability
Low
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

DescriptionCVE.org

zchunk before 1.5.5 contains a heap out-of-bounds read vulnerability in read_preface() in src/lib/header.c that passes the total header length instead of remaining bytes to compint parsing functions. Attackers can supply a crafted .zck file whose header ends inside a compressed integer, causing reads past the heap header buffer and crashing the application.

Threat Intelligence Overview

EPSS Score
0.3%
Top 74% exploitable
Prevalence
Medium
zchunk library underpins DNF/librepo compressed RPM repo metadata on Fedora/RHEL
Data Quality
5 sources
Confidence: Medium

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity MEDIUM
CISA KEV No
Public POC No
EPSS 0.3%
Patch available Yes
Active threat No
Deciding rule
MEDIUM severity (CVSS 4.0-6.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Scheduled
Exploitation· derived
None
System Exposure· derived
Open
Automatable· derived
No
Human Impact· derived
Medium

Priority Score

26
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +26
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

A buffer overflow occurs when a program writes more data to a memory buffer than it was allocated to hold, causing the excess data to spill into adjacent memory regions.

Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy