Skip to main content

gitoxide gix-pack CVE-2026-109349

| EUVDEUVD-2026-97651 HIGH
Reachable Assertion (CWE-617)
2026-10-12 VulnCheck GHSA-wmw6-cp8f-c6q8
7.1
CVSS 4.0 · Vendor: VulnCheck
View

Attack ChainAIDerived

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

  1. Access
    Victim initiates clone/fetch from malicious remote
  2. Exploit
    Server returns 12-byte pack header declaring version 3
  3. Execution
    Decoder hits release assert_eq! expecting version 2
  4. Impact
    Client panics, clone/fetch aborted (DoS)

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 git clone or fetch (the smart/pack transfer path) against an attacker-controlled or compromised remote using a gix-pack version before 0.75.0; the attacker simply responds with a crafted 12-byte pack header whose version field is 3. No authentication and no special target-side configuration are needed (PR:N). The principal limiting factor is the required user-initiated action (UI:P/UI:R): the attacker cannot reach a passive victim and must induce the client to pull from a malicious remote, which narrows realistic exposure to environments that fetch from untrusted sources (e.g., automated CI, dependency resolution, or mirrors).

Impact

This is a denial-of-service vulnerability (CWE-617, reachable assertion) with a provided CVSS 4.0 score of 7.1 (AV:N/AC:L/AT:N/PR:N/UI:P/VC:N/VI:N/VA:H). The network attack vector, low complexity, and no-privileges requirement make it easy to trigger, but impact is limited strictly to availability (VA:H; VC/VI:N) - there is no code execution, data disclosure, or integrity loss, only a client-side panic that aborts a clone or fetch. The signals are notably consistent rather than conflicting: no EPSS score, KEV status, or POC flag was supplied, so by the precision rules this is 'no public exploit identified at time of analysis.' A key mitigating factor is that exploitation is not server-side or self-propagating - it requires the victim to initiate a git operation against an attacker-controlled remote (reflected in UI:P/UI:R). This is therefore a genuine but bounded risk: a crash/abort of client tooling, not a high-urgency RCE. Priority should be moderate - patch in the normal cycle, elevated only where gix-pack-based clients fetch from untrusted or user-supplied remotes (e.g., CI pulling arbitrary dependencies).

Exploit ScenarioDerived

An attacker stands up or compromises a git remote and waits for (or lures) a victim to clone or fetch from it. When the gix-pack-based client requests pack data, the malicious server returns a 12-byte pack header declaring version 3; the decoder accepts the version but a release-enabled assert_eq! expecting version 2 fires, panicking the client and aborting the operation. No public exploit code was identified at time of analysis, though the trigger is a trivially crafted 12-byte header.

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

Denial of service in gitoxide gix-pack before 0.75.0 allows a malicious remote to panic and abort a client's git clone or fetch by responding with a crafted 12-byte pack header declaring version 3, which trips a release-enabled assert_eq! in BytesToEntriesIter::new_from_header that expects version 2. The attack requires the victim to initiate the fetch from an attacker-controlled or compromised remote (UI:R), but no authentication is needed (PR:N); automated CI, dependency resolution, or mirror synchronization that pulls from untrusted sources is the primary exposure. No public exploit code or CISA KEV entry was identified at time of analysis, and the CVSS 4.0 score is 7.1 (CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H per independent assessment).

RemediationAI

Vendor-released patch: upgrade gix-pack to version 0.75.0 or later. For Rust projects, update the gix-pack dependency in Cargo.toml and run cargo update; for applications embedding gitoxide, rebuild against the patched crate. If an immediate upgrade is not possible, restrict git clone/fetch operations to trusted remotes until the fix is deployed-this reduces exposure to attacker-controlled pack headers but relies on trust decisions and does not protect against compromised legitimate remotes. Avoid using gix-pack to fetch from untrusted or user-supplied repositories in automated CI pipelines, as those are the most likely attack vector. See the vendor advisory at https://github.com/GitoxideLabs/gitoxide/security/advisories/GHSA-633h-mqjc-8rwg and the VulnCheck advisory at https://www.vulncheck.com/advisories/gix-pack-before-0.75.0-reachable-assertion-dos-via-pack-version-3-header for details. No other workaround is provided by the vendor; the assertion is release-enabled, so debug-only flags are not a mitigation.

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

gix-pack is a Rust crate within the gitoxide project that implements reading and writing of Git packfiles, the compressed object format used during clone/fetch. A packfile begins with a 12-byte header: the four-byte signature "PACK", a four-byte version number, and a four-byte object count. The decoder in BytesToEntriesIter::new_from_header accepts version 3 during parsing but then hits a release-enabled assert_eq! that requires version 2. CWE-617 (Reachable Assertion) means the assertion is reachable from untrusted input, so an attacker who controls the remote repository can cause a panic and process abort. The CPE cpe:2.3:a:gitoxidelabs:gix-pack:*:*:*:*:*:*:*:* confirms all versions before 0.75.0 are affected. This is not a memory-safety issue but a robustness flaw that terminates the client process.

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

Remote attacker needs no privileges but requires the victim to initiate a clone/fetch (UI:R); impact is a client panic affecting availability only (A:H), with no confidentiality or integrity effect.

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 reachable assertion in BytesToEntriesIter::new_from_header: the pack header decoder accepts version 3, but a release-enabled assert_eq! requires version 2. A malicious remote can send a 12-byte pack header declaring version 3 to panic the client and abort the clone or fetch.

Technical POC Analysis

Evidence basis: GitHub advisory GHSA-633h-mqjc-8rwg for gix-pack.

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

Gitoxide's gix-pack library for versions before 0.75.0 has a high-severity availability flaw that can crash automated Git clone or fetch operations when they interact with a malicious or compromised remote. Organizations relying on gix-pack in CI/CD, dependency resolution, or mirror synchronization are most exposed, as a single malformed response can abort jobs and require reruns or manual intervention. Because no vendor patch is currently available, leadership should treat this as an operational resilience risk and prioritize interim controls for any workflows that pull from untrusted sources.

Business Impact: High
Compensating Controls

No vendor patch is available; restrict all clone/fetch operations to trusted, allow-listed remotes; avoid automated pulls from untrusted or compromised sources; use an alternative Git client or library for external fetches where feasible; sandbox and run gix-pack processes with least privilege; monitor and alert on process crashes or unusual pack-header handling; pin and review dependency versions; upgrade to gix-pack 0.75.0 or later once a vendor-released patch is available.

Threat Intelligence Overview

EPSS Score
0.3%
Top 82% exploitable
Prevalence
Low
niche Rust git library (gitoxide), limited direct 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
High

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