CVE-2026-109350 in gix-pack
Summary
by MITRE • 10/12/2026
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.
Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.
Analysis
by VulDB Data Team • 10/12/2026
The vulnerability identified in gitoxide versions prior to 0.75.0 represents a critical denial of service flaw within the repository fetching mechanism, specifically targeting the handling of thin-pack data structures. Gitoxide is a Rust-based implementation of Git designed for performance and safety, yet this specific defect allows malicious remote repositories to disrupt local operations by exploiting improper validation logic during object resolution. The attack vector involves the transmission of crafted thin-pack files containing OFS_DELTA entries that violate internal consistency constraints regarding base distance calculations relative to pack offsets.
The technical root cause lies in the LookupRefDeltaObjectsIter function, which is responsible for resolving delta bases when reconstructing objects from a pack file. In a valid Git repository structure, an OFS_DELTA entry specifies its base object by providing a negative offset that points backward within the same pack file. The integrity of this operation relies on strict bounds checking to ensure that the specified base_distance does not exceed the total size or valid range of the current pack_offset. When a malicious actor serves a thin pack where a REF_DELTA references an existing object, followed immediately by an OFS_DELTA entry with a base_distance value larger than the available pack_offset, the iterator fails to validate this boundary condition properly.
This lack of input validation triggers an arithmetic underflow or index out-of-bounds error within the Rust runtime environment. Because gitoxide prioritizes safety through panic-on-error semantics rather than graceful degradation in certain parsing contexts, this invalid state causes a hard panic that aborts the fetch process entirely. Consequently, any user attempting to clone or pull from such a compromised remote repository will experience an immediate crash of their Git client application, resulting in a complete denial of service for legitimate development workflows and potentially causing data loss if unsaved work is involved during the abrupt termination.
From a classification perspective, this vulnerability aligns with CWE-20 Improper Input Validation, as the software fails to verify that user-supplied input adheres to expected structural constraints before processing it. Furthermore, in the context of the MITRE ATT&CK framework for enterprise security, this behavior is indicative of T1498 Network Denial of Service, specifically through resource exhaustion or service disruption via malformed data injection. The attack does not require authentication if the remote repository allows anonymous access to pack files, making it a viable threat against public repositories and CI/CD pipelines that automatically fetch from untrusted sources.
Mitigation strategies primarily involve upgrading gitoxide to version 0.75.0 or later, where developers have implemented rigorous bounds checking for delta base distances during pack parsing operations. For organizations unable to update immediately, operational mitigations include restricting the sources of remote repositories used in automated pipelines and implementing network-level filtering to inspect Git protocol traffic for anomalous packet sizes or malformed object headers. Additionally, employing sandboxed environments for fetching from untrusted remotes can contain the impact of such crashes, preventing them from affecting critical build infrastructure or developer workstations directly.