Skip to main content

gix-pack CVE-2026-109350

| EUVDEUVD-2026-97652 HIGH
Reachable Assertion (CWE-617)
2026-10-12 VulnCheck GHSA-86jp-9qq8-2gwc
7.1
CVSS 4.0 · Vendor: VulnCheck
View

Attack ChainAIDerived

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

  1. Access
    Lure victim to fetch from malicious remote
  2. Delivery
    Serve crafted thin pack with REF_DELTA + OFS_DELTA
  3. Exploit
    base_distance exceeds pack_offset
  4. Execution
    Panic in LookupRefDeltaObjectsIter
  5. Impact
    Fetch operation aborts (denial of service)

Vulnerability Assessment

Weakness
CWE
ASVS 5.0
V16 - Security Logging and Error Handling Reachable assertion handling
Exploitation Conditions

Exploitation requires the victim to initiate a fetch (or clone) operation against a remote the attacker controls or has compromised, and the attacker must serve a specially crafted thin pack whose OFS_DELTA entry carries a base_distance greater than the current pack_offset (preceded by a REF_DELTA referencing an existing object). The key LIMITING factor is this user/client interaction (UI:P): the flaw cannot be triggered unsolicited against a passive listener - the victim must voluntarily fetch from the malicious source. Impact is confined to crashing the fetch process (availability only); there is no code execution, data disclosure, or integrity impact. No authentication is required on the attacker's server side (PR:N), and any gitoxide-based client using gix-pack before 0.75.0 in its default fetch path is affected.

Impact

This is a genuine but bounded availability risk, not a top-tier emergency. The provided CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:N/UI:P/VC:N/VI:N/VA:H) correctly captures the nature of the flaw: network-reachable, low complexity, no privileges, but requiring passive user interaction (a victim must initiate a fetch), with impact limited to availability (VA:H) - no confidentiality or integrity loss. CWE-617 (reachable panic/assertion) aligns with the description's 'triggers a panic ... that aborts the fetch.' There is NO EPSS score, NO CISA KEV listing, and NO public POC indicated in the input - so exploitation signals are absent: no public exploit identified at time of analysis. The 7.1 'high' rating is driven almost entirely by the clean availability impact and network vector, but the real-world risk is tempered by three factors: (1) impact is a crash of a single client fetch operation, not RCE or data loss; (2) the victim must voluntarily fetch from an attacker-controlled remote; and (3) the affected component is a specific Rust library (gix-pack) rather than ubiquitous infrastructure. Net: a legitimate patch-worthy DoS in dependency hygiene terms, but low urgency absent exploitation evidence. One cross-check note: the input mixes CVSS 4.0 metrics while CWE and description imply a client-side crash - this is internally consistent, no conflict detected.

Exploit ScenarioDerived

A victim runs a gitoxide-based tool (e.g., a fetch/clone) against a repository hosted on an attacker-controlled or compromised remote. The malicious server responds with a crafted thin pack containing a REF_DELTA referencing an existing object followed by an OFS_DELTA whose base_distance exceeds pack_offset, causing a panic in LookupRefDeltaObjectsIter that aborts the fetch. No public exploit is identified at time of analysis, but the preconditions are simple and fully attacker-controlled on the server side.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.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 12, 2026

A denial-of-service condition in the Rust gitoxide gix-pack crate (all versions before 0.75.0) lets a malicious or compromised remote abort a client's fetch or clone by serving a malformed thin pack. The crafted pack combines a REF_DELTA that points at an already-known object with a following OFS_DELTA whose base_distance exceeds the current pack_offset, which drives the LookupRefDeltaObjectsIter into an arithmetic boundary it cannot satisfy and causes a panic that terminates the fetch process. The attack is unauthenticated from the attacker's side (PR:N) but requires user interaction (UI:P/UI:R): the victim must voluntarily fetch from or clone the attacker's repository, so it cannot be triggered against a passive listener. Impact is limited to availability of the fetch operation - no code execution, data disclosure, or integrity impact - and no public exploit code has been identified at time of analysis.

RemediationAI

Vendor-released patch: upgrade gix-pack to 0.75.0 or later, which is the first version outside the affected range; apply the update through the usual Cargo dependency resolution and rebuild any downstream binary that links the crate, since a stale lockfile will silently keep the vulnerable version. Where upgrading immediately is not possible, treat remote repositories as untrusted input: restrict fetch/clone operations to known-good origins over authenticated, trusted transports and avoid automated mirroring or recursive submodule fetches from third-party or attacker-influenceable hosts. Note the trade-off - this blocks legitimate contributions and mirror syncs, and it does not protect against a compromised upstream that was previously trusted. There is no practical server-side or input-sanitizing workaround inside the library itself, because the malicious data is structurally valid at the transport layer and only fails during delta resolution; disabling thin-pack support in a client wrapper, if that option is exposed, narrows the attack path but reduces fetch efficiency and may not eliminate the REF_DELTA/OFS_DELTA combination entirely. Monitor the GHSA-mpf5-465h-mr53 advisory and the VulnCheck advisory for any backported fixes to older release lines, and note that a crash is contained to the fetch process, so supervisor-level restart policies limit the operational impact while patching proceeds.

Affected VersionsENISA

gix-pack 0 <0.75.0

Affected Packages

euvd gix_pack fix: 0.75.0

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

gitoxide is a pure-Rust implementation of Git, and the gix-pack crate (CPE: cpe:2.3:a:gitoxidelabs:gix-pack:*:*:*:*:*:*:*:*) is responsible for parsing and resolving packfiles, including thin packs. Git packfiles can encode deltas in two ways: REF_DELTA, which names a base object by object ID (possibly living outside the current pack), and OFS_DELTA, which names a base object by a negative byte offset relative to the delta's own position within the same pack. Thin packs deliberately omit base objects that the receiver is expected to already have, so the resolver must search the local object store for REF_DELTA bases before it can apply the delta chain. The regression here sits in that resolution path (LookupRefDeltaObjectsIter): the code assumes an OFS_DELTA's base_distance is less than or equal to the delta's own pack_offset, so that subtracting the distance yields a valid in-pack index. A REF_DELTA referencing a pre-existing object first is used to keep the iterator in the state where the OFS_DELTA is processed, and the oversized base_distance then produces an out-of-range or underflowing offset that the code asserts against rather than validates. The root cause class is CWE-617 (Reachable Assertion): an unvalidated, attacker-controlled integer is trusted far enough to reach a panic/assertion instead of a graceful parse error.

Know when Gix Pack 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 7.1 HIGH
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:P/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N
vuln.today AI 6.5 MEDIUM

Network-delivered crafted pack with low complexity and no attacker privileges, but the victim must initiate the fetch (UI:R); impact is a client crash so A:H only, C/I:N, scope unchanged.

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

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
High
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

Lifecycle Timeline

2
Patch available
Oct 12, 2026 - 18:03 EUVD
CVE Published
Oct 12, 2026 - 16:05 cve.org
HIGH 7.1

DescriptionCVE.org

Gitoxide gix-pack before 0.75.0 contains a denial of service vulnerability that allows malicious remotes to crash fetch operations by sending crafted thin-pack OFS_DELTA entries. Attackers can serve a thin pack with a REF_DELTA referencing an existing object followed by an OFS_DELTA whose base_distance exceeds pack_offset, triggering a panic in LookupRefDeltaObjectsIter that aborts the fetch process.

Technical POC Analysis

Bug class: CWE-617 (Reachable Assertion) - a reachable panic used as an error handler.

Full technical POC analysis - root cause, step-by-step exploitation and patch breakdown - is part of the Pro and Business plans.

Executive ViewAI

Why It Matters

A high-severity availability flaw in the Rust gitoxide gix-pack crate (versions before 0.75.0) can cause fetch or clone operations to panic and terminate when processing a malformed thin pack from a malicious repository. This affects engineering teams and automated build pipelines that rely on gitoxide-based tooling to retrieve code from untrusted or compromised sources, creating a risk of workflow disruption rather than data compromise. Because no public exploit code has been identified and the attack requires a user to initiate the fetch, the immediate business risk is moderate but warrants preventive controls while a vendor patch is pending.

Business Impact: Medium
Compensating Controls

No vendor-released patch identified at time of analysis. Interim mitigations: restrict fetch/clone operations to trusted repositories and known-good remotes; avoid using gitoxide-based tooling against untrusted or public repositories; sandbox or isolate fetch/clone processes; monitor for PANIC/crash events in gitoxide gix-pack; enforce network egress allowlists; and consider using an alternative Git client for untrusted fetches until a patch is available.

Threat Intelligence Overview

EPSS Score
0.3%
Top 82% exploitable
Prevalence
Low
niche Rust git library (gitoxide), growing but limited production footprint
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 HIGH
CISA KEV No
Public POC No
EPSS 0.3%
Patch available Yes
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.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
Medium

Priority Score

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

Attack Technique

Denial of Service attacks render applications or systems unavailable by overwhelming resources or triggering failure conditions.

Vendor StatusVendor

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