gix-pack
An idiomatic, lean, fast & safe pure Rust implementation of Git
Activity
- Latest release
- 2w ago
- Total releases
- 58
- Cadence
- ~21 days
- Last 12 months
- 18
Reach
- Downloads
- 43.7M
- Stars
- 11.9k
Details
- License
- MIT OR Apache-2.0
- First release
- Feb 17, 2023
| Version | Released | |
|---|---|---|
0.74.2
patch
|
0.74.2
patch
Dependencies (24)
+ 16 more
Changelog
Compare changes
|
|
0.74.1
patch
|
0.74.1
patch
Dependencies (23)
+ 15 more
Changelog
Compare changes
|
|
0.74.0
minor
|
0.74.0
minor
Dependencies (23)
+ 15 more
Changelog
Compare changes
|
|
0.73.0
unknown
|
0.73.0
unknown
Dependencies (22)
+ 14 more
Changelog
Compare changes
|
|
0.72.0
unknown
|
0.72.0
unknown
Dependencies (21)
+ 13 more
Changelog
Compare changes
|
|
0.71.0
unknown
|
0.71.0
unknown
Dependencies (21)
+ 13 more
Changelog
Compare changes
|
|
0.70.0
unknown
|
0.70.0
unknown
Dependencies (19)
+ 11 more
Changelog
Compare changes
|
|
0.69.0
unknown
|
0.69.0
unknown
Dependencies (19)
+ 11 more
Changelog
Compare changes
|
|
0.68.0
unknown
1 CVE
CVE-2026-82254
GHSA-x494-mj8g-cj27
May 05, 2026
gix-pack has multiple DoS vectors: unchecked indexing panics and uncapped OOM allocations from crafted pack data
High
Network
Low
None
None
SummaryMultiple denial-of-service vectors in DetailsBug 1: Unchecked array indexing in delta application (CWE-248) The
Lines 83-84 use
A second location in Note: PR #2059 (merged 2025-06-25) fixed the explicit Bug 2: Uncapped allocation from attacker-controlled size headers (CWE-770) Pack entry headers and delta headers encode object sizes as LEB128-encoded u64 values. These sizes are used to allocate buffers before validating the actual data, with no upper bound:
A 10-byte crafted pack entry can claim The allocation at PoCCompiled and executed in Rust 1.94.1
For the OOM vector: the allocation path is ImpactAny application built on gitoxide that clones or fetches from an untrusted remote can be crashed by a malicious server:
This affects the Suggested fixFor panics: replace unchecked For OOM: add a configurable maximum object size (similar to git's SeverityHigh. Network vector, no privileges required, user interaction required (clone/fetch). The OOM vector is a single-packet process kill with no recovery. Fixed in
0.69.0
References Updated Sep 10, 2026 · Source: OSV.dev |
0.68.0
unknown
Dependencies (19)
+ 11 more
Changelog
Compare changes
|
|
0.67.0
unknown
1 CVE
CVE-2026-82254
GHSA-x494-mj8g-cj27
May 05, 2026
gix-pack has multiple DoS vectors: unchecked indexing panics and uncapped OOM allocations from crafted pack data
High
Network
Low
None
None
SummaryMultiple denial-of-service vectors in DetailsBug 1: Unchecked array indexing in delta application (CWE-248) The
Lines 83-84 use
A second location in Note: PR #2059 (merged 2025-06-25) fixed the explicit Bug 2: Uncapped allocation from attacker-controlled size headers (CWE-770) Pack entry headers and delta headers encode object sizes as LEB128-encoded u64 values. These sizes are used to allocate buffers before validating the actual data, with no upper bound:
A 10-byte crafted pack entry can claim The allocation at PoCCompiled and executed in Rust 1.94.1
For the OOM vector: the allocation path is ImpactAny application built on gitoxide that clones or fetches from an untrusted remote can be crashed by a malicious server:
This affects the Suggested fixFor panics: replace unchecked For OOM: add a configurable maximum object size (similar to git's SeverityHigh. Network vector, no privileges required, user interaction required (clone/fetch). The OOM vector is a single-packet process kill with no recovery. Fixed in
0.69.0
References Updated Sep 10, 2026 · Source: OSV.dev |
0.67.0
unknown
Dependencies (19)
+ 11 more
Changelog
Compare changes
|
|
0.66.0
unknown
1 CVE
CVE-2026-82254
GHSA-x494-mj8g-cj27
May 05, 2026
gix-pack has multiple DoS vectors: unchecked indexing panics and uncapped OOM allocations from crafted pack data
High
Network
Low
None
None
SummaryMultiple denial-of-service vectors in DetailsBug 1: Unchecked array indexing in delta application (CWE-248) The
Lines 83-84 use
A second location in Note: PR #2059 (merged 2025-06-25) fixed the explicit Bug 2: Uncapped allocation from attacker-controlled size headers (CWE-770) Pack entry headers and delta headers encode object sizes as LEB128-encoded u64 values. These sizes are used to allocate buffers before validating the actual data, with no upper bound:
A 10-byte crafted pack entry can claim The allocation at PoCCompiled and executed in Rust 1.94.1
For the OOM vector: the allocation path is ImpactAny application built on gitoxide that clones or fetches from an untrusted remote can be crashed by a malicious server:
This affects the Suggested fixFor panics: replace unchecked For OOM: add a configurable maximum object size (similar to git's SeverityHigh. Network vector, no privileges required, user interaction required (clone/fetch). The OOM vector is a single-packet process kill with no recovery. Fixed in
0.69.0
References Updated Sep 10, 2026 · Source: OSV.dev |
0.66.0
unknown
Dependencies (18)
+ 10 more
Changelog
Compare changes
|
|
0.65.0
unknown
1 CVE
CVE-2026-82254
GHSA-x494-mj8g-cj27
May 05, 2026
gix-pack has multiple DoS vectors: unchecked indexing panics and uncapped OOM allocations from crafted pack data
High
Network
Low
None
None
SummaryMultiple denial-of-service vectors in DetailsBug 1: Unchecked array indexing in delta application (CWE-248) The
Lines 83-84 use
A second location in Note: PR #2059 (merged 2025-06-25) fixed the explicit Bug 2: Uncapped allocation from attacker-controlled size headers (CWE-770) Pack entry headers and delta headers encode object sizes as LEB128-encoded u64 values. These sizes are used to allocate buffers before validating the actual data, with no upper bound:
A 10-byte crafted pack entry can claim The allocation at PoCCompiled and executed in Rust 1.94.1
For the OOM vector: the allocation path is ImpactAny application built on gitoxide that clones or fetches from an untrusted remote can be crashed by a malicious server:
This affects the Suggested fixFor panics: replace unchecked For OOM: add a configurable maximum object size (similar to git's SeverityHigh. Network vector, no privileges required, user interaction required (clone/fetch). The OOM vector is a single-packet process kill with no recovery. Fixed in
0.69.0
References Updated Sep 10, 2026 · Source: OSV.dev |
0.65.0
unknown
Dependencies (18)
+ 10 more
Changelog
Compare changes
|
|
0.64.1
unknown
1 CVE
CVE-2026-82254
GHSA-x494-mj8g-cj27
May 05, 2026
gix-pack has multiple DoS vectors: unchecked indexing panics and uncapped OOM allocations from crafted pack data
High
Network
Low
None
None
SummaryMultiple denial-of-service vectors in DetailsBug 1: Unchecked array indexing in delta application (CWE-248) The
Lines 83-84 use
A second location in Note: PR #2059 (merged 2025-06-25) fixed the explicit Bug 2: Uncapped allocation from attacker-controlled size headers (CWE-770) Pack entry headers and delta headers encode object sizes as LEB128-encoded u64 values. These sizes are used to allocate buffers before validating the actual data, with no upper bound:
A 10-byte crafted pack entry can claim The allocation at PoCCompiled and executed in Rust 1.94.1
For the OOM vector: the allocation path is ImpactAny application built on gitoxide that clones or fetches from an untrusted remote can be crashed by a malicious server:
This affects the Suggested fixFor panics: replace unchecked For OOM: add a configurable maximum object size (similar to git's SeverityHigh. Network vector, no privileges required, user interaction required (clone/fetch). The OOM vector is a single-packet process kill with no recovery. Fixed in
0.69.0
References Updated Sep 10, 2026 · Source: OSV.dev |
0.64.1
unknown
Dependencies (17)
+ 9 more
Changelog
Compare changes
|
|
0.64.0
unknown
1 CVE
CVE-2026-82254
GHSA-x494-mj8g-cj27
May 05, 2026
gix-pack has multiple DoS vectors: unchecked indexing panics and uncapped OOM allocations from crafted pack data
High
Network
Low
None
None
SummaryMultiple denial-of-service vectors in DetailsBug 1: Unchecked array indexing in delta application (CWE-248) The
Lines 83-84 use
A second location in Note: PR #2059 (merged 2025-06-25) fixed the explicit Bug 2: Uncapped allocation from attacker-controlled size headers (CWE-770) Pack entry headers and delta headers encode object sizes as LEB128-encoded u64 values. These sizes are used to allocate buffers before validating the actual data, with no upper bound:
A 10-byte crafted pack entry can claim The allocation at PoCCompiled and executed in Rust 1.94.1
For the OOM vector: the allocation path is ImpactAny application built on gitoxide that clones or fetches from an untrusted remote can be crashed by a malicious server:
This affects the Suggested fixFor panics: replace unchecked For OOM: add a configurable maximum object size (similar to git's SeverityHigh. Network vector, no privileges required, user interaction required (clone/fetch). The OOM vector is a single-packet process kill with no recovery. Fixed in
0.69.0
References Updated Sep 10, 2026 · Source: OSV.dev |
0.64.0
unknown
Dependencies (17)
+ 9 more
Changelog
Compare changes
|
|
0.63.0
unknown
1 CVE
CVE-2026-82254
GHSA-x494-mj8g-cj27
May 05, 2026
gix-pack has multiple DoS vectors: unchecked indexing panics and uncapped OOM allocations from crafted pack data
High
Network
Low
None
None
SummaryMultiple denial-of-service vectors in DetailsBug 1: Unchecked array indexing in delta application (CWE-248) The
Lines 83-84 use
A second location in Note: PR #2059 (merged 2025-06-25) fixed the explicit Bug 2: Uncapped allocation from attacker-controlled size headers (CWE-770) Pack entry headers and delta headers encode object sizes as LEB128-encoded u64 values. These sizes are used to allocate buffers before validating the actual data, with no upper bound:
A 10-byte crafted pack entry can claim The allocation at PoCCompiled and executed in Rust 1.94.1
For the OOM vector: the allocation path is ImpactAny application built on gitoxide that clones or fetches from an untrusted remote can be crashed by a malicious server:
This affects the Suggested fixFor panics: replace unchecked For OOM: add a configurable maximum object size (similar to git's SeverityHigh. Network vector, no privileges required, user interaction required (clone/fetch). The OOM vector is a single-packet process kill with no recovery. Fixed in
0.69.0
References Updated Sep 10, 2026 · Source: OSV.dev |
0.63.0
unknown
Dependencies (17)
+ 9 more
Changelog
Compare changes
|
|
0.62.0
unknown
1 CVE
CVE-2026-82254
GHSA-x494-mj8g-cj27
May 05, 2026
gix-pack has multiple DoS vectors: unchecked indexing panics and uncapped OOM allocations from crafted pack data
High
Network
Low
None
None
SummaryMultiple denial-of-service vectors in DetailsBug 1: Unchecked array indexing in delta application (CWE-248) The
Lines 83-84 use
A second location in Note: PR #2059 (merged 2025-06-25) fixed the explicit Bug 2: Uncapped allocation from attacker-controlled size headers (CWE-770) Pack entry headers and delta headers encode object sizes as LEB128-encoded u64 values. These sizes are used to allocate buffers before validating the actual data, with no upper bound:
A 10-byte crafted pack entry can claim The allocation at PoCCompiled and executed in Rust 1.94.1
For the OOM vector: the allocation path is ImpactAny application built on gitoxide that clones or fetches from an untrusted remote can be crashed by a malicious server:
This affects the Suggested fixFor panics: replace unchecked For OOM: add a configurable maximum object size (similar to git's SeverityHigh. Network vector, no privileges required, user interaction required (clone/fetch). The OOM vector is a single-packet process kill with no recovery. Fixed in
0.69.0
References Updated Sep 10, 2026 · Source: OSV.dev |
0.62.0
unknown
Dependencies (17)
+ 9 more
Changelog
Compare changes
|
|
0.61.1
unknown
1 CVE
CVE-2026-82254
GHSA-x494-mj8g-cj27
May 05, 2026
gix-pack has multiple DoS vectors: unchecked indexing panics and uncapped OOM allocations from crafted pack data
High
Network
Low
None
None
SummaryMultiple denial-of-service vectors in DetailsBug 1: Unchecked array indexing in delta application (CWE-248) The
Lines 83-84 use
A second location in Note: PR #2059 (merged 2025-06-25) fixed the explicit Bug 2: Uncapped allocation from attacker-controlled size headers (CWE-770) Pack entry headers and delta headers encode object sizes as LEB128-encoded u64 values. These sizes are used to allocate buffers before validating the actual data, with no upper bound:
A 10-byte crafted pack entry can claim The allocation at PoCCompiled and executed in Rust 1.94.1
For the OOM vector: the allocation path is ImpactAny application built on gitoxide that clones or fetches from an untrusted remote can be crashed by a malicious server:
This affects the Suggested fixFor panics: replace unchecked For OOM: add a configurable maximum object size (similar to git's SeverityHigh. Network vector, no privileges required, user interaction required (clone/fetch). The OOM vector is a single-packet process kill with no recovery. Fixed in
0.69.0
References Updated Sep 10, 2026 · Source: OSV.dev |
0.61.1
unknown
Dependencies (17)
+ 9 more
Changelog
Compare changes
|
|
0.61.0
unknown
1 CVE
CVE-2026-82254
GHSA-x494-mj8g-cj27
May 05, 2026
gix-pack has multiple DoS vectors: unchecked indexing panics and uncapped OOM allocations from crafted pack data
High
Network
Low
None
None
SummaryMultiple denial-of-service vectors in DetailsBug 1: Unchecked array indexing in delta application (CWE-248) The
Lines 83-84 use
A second location in Note: PR #2059 (merged 2025-06-25) fixed the explicit Bug 2: Uncapped allocation from attacker-controlled size headers (CWE-770) Pack entry headers and delta headers encode object sizes as LEB128-encoded u64 values. These sizes are used to allocate buffers before validating the actual data, with no upper bound:
A 10-byte crafted pack entry can claim The allocation at PoCCompiled and executed in Rust 1.94.1
For the OOM vector: the allocation path is ImpactAny application built on gitoxide that clones or fetches from an untrusted remote can be crashed by a malicious server:
This affects the Suggested fixFor panics: replace unchecked For OOM: add a configurable maximum object size (similar to git's SeverityHigh. Network vector, no privileges required, user interaction required (clone/fetch). The OOM vector is a single-packet process kill with no recovery. Fixed in
0.69.0
References Updated Sep 10, 2026 · Source: OSV.dev |
0.61.0
unknown
Dependencies (17)
+ 9 more
Changelog
Compare changes
|
|
0.60.0
unknown
1 CVE
CVE-2026-82254
GHSA-x494-mj8g-cj27
May 05, 2026
gix-pack has multiple DoS vectors: unchecked indexing panics and uncapped OOM allocations from crafted pack data
High
Network
Low
None
None
SummaryMultiple denial-of-service vectors in DetailsBug 1: Unchecked array indexing in delta application (CWE-248) The
Lines 83-84 use
A second location in Note: PR #2059 (merged 2025-06-25) fixed the explicit Bug 2: Uncapped allocation from attacker-controlled size headers (CWE-770) Pack entry headers and delta headers encode object sizes as LEB128-encoded u64 values. These sizes are used to allocate buffers before validating the actual data, with no upper bound:
A 10-byte crafted pack entry can claim The allocation at PoCCompiled and executed in Rust 1.94.1
For the OOM vector: the allocation path is ImpactAny application built on gitoxide that clones or fetches from an untrusted remote can be crashed by a malicious server:
This affects the Suggested fixFor panics: replace unchecked For OOM: add a configurable maximum object size (similar to git's SeverityHigh. Network vector, no privileges required, user interaction required (clone/fetch). The OOM vector is a single-packet process kill with no recovery. Fixed in
0.69.0
References Updated Sep 10, 2026 · Source: OSV.dev |
0.60.0
unknown
Dependencies (17)
+ 9 more
Changelog
Compare changes
|
|
0.59.1
unknown
1 CVE
CVE-2026-82254
GHSA-x494-mj8g-cj27
May 05, 2026
gix-pack has multiple DoS vectors: unchecked indexing panics and uncapped OOM allocations from crafted pack data
High
Network
Low
None
None
SummaryMultiple denial-of-service vectors in DetailsBug 1: Unchecked array indexing in delta application (CWE-248) The
Lines 83-84 use
A second location in Note: PR #2059 (merged 2025-06-25) fixed the explicit Bug 2: Uncapped allocation from attacker-controlled size headers (CWE-770) Pack entry headers and delta headers encode object sizes as LEB128-encoded u64 values. These sizes are used to allocate buffers before validating the actual data, with no upper bound:
A 10-byte crafted pack entry can claim The allocation at PoCCompiled and executed in Rust 1.94.1
For the OOM vector: the allocation path is ImpactAny application built on gitoxide that clones or fetches from an untrusted remote can be crashed by a malicious server:
This affects the Suggested fixFor panics: replace unchecked For OOM: add a configurable maximum object size (similar to git's SeverityHigh. Network vector, no privileges required, user interaction required (clone/fetch). The OOM vector is a single-packet process kill with no recovery. Fixed in
0.69.0
References Updated Sep 10, 2026 · Source: OSV.dev |
0.59.1
unknown
Dependencies (17)
+ 9 more
Changelog
Compare changes
|
|
0.59.0
unknown
yanked
1 CVE
CVE-2026-82254
GHSA-x494-mj8g-cj27
May 05, 2026
gix-pack has multiple DoS vectors: unchecked indexing panics and uncapped OOM allocations from crafted pack data
High
Network
Low
None
None
SummaryMultiple denial-of-service vectors in DetailsBug 1: Unchecked array indexing in delta application (CWE-248) The
Lines 83-84 use
A second location in Note: PR #2059 (merged 2025-06-25) fixed the explicit Bug 2: Uncapped allocation from attacker-controlled size headers (CWE-770) Pack entry headers and delta headers encode object sizes as LEB128-encoded u64 values. These sizes are used to allocate buffers before validating the actual data, with no upper bound:
A 10-byte crafted pack entry can claim The allocation at PoCCompiled and executed in Rust 1.94.1
For the OOM vector: the allocation path is ImpactAny application built on gitoxide that clones or fetches from an untrusted remote can be crashed by a malicious server:
This affects the Suggested fixFor panics: replace unchecked For OOM: add a configurable maximum object size (similar to git's SeverityHigh. Network vector, no privileges required, user interaction required (clone/fetch). The OOM vector is a single-packet process kill with no recovery. Fixed in
0.69.0
References Updated Sep 10, 2026 · Source: OSV.dev |
0.59.0
unknown
yanked
Dependencies (17)
+ 9 more
Changelog
Compare changes
|
|
0.58.0
unknown
1 CVE
CVE-2026-82254
GHSA-x494-mj8g-cj27
May 05, 2026
gix-pack has multiple DoS vectors: unchecked indexing panics and uncapped OOM allocations from crafted pack data
High
Network
Low
None
None
SummaryMultiple denial-of-service vectors in DetailsBug 1: Unchecked array indexing in delta application (CWE-248) The
Lines 83-84 use
A second location in Note: PR #2059 (merged 2025-06-25) fixed the explicit Bug 2: Uncapped allocation from attacker-controlled size headers (CWE-770) Pack entry headers and delta headers encode object sizes as LEB128-encoded u64 values. These sizes are used to allocate buffers before validating the actual data, with no upper bound:
A 10-byte crafted pack entry can claim The allocation at PoCCompiled and executed in Rust 1.94.1
For the OOM vector: the allocation path is ImpactAny application built on gitoxide that clones or fetches from an untrusted remote can be crashed by a malicious server:
This affects the Suggested fixFor panics: replace unchecked For OOM: add a configurable maximum object size (similar to git's SeverityHigh. Network vector, no privileges required, user interaction required (clone/fetch). The OOM vector is a single-packet process kill with no recovery. Fixed in
0.69.0
References Updated Sep 10, 2026 · Source: OSV.dev |
0.58.0
unknown
Dependencies (17)
+ 9 more
Changelog
Compare changes
|
|
0.57.0
unknown
2 CVEs
CVE-2026-82254
GHSA-x494-mj8g-cj27
May 05, 2026
gix-pack has multiple DoS vectors: unchecked indexing panics and uncapped OOM allocations from crafted pack data
High
Network
Low
None
None
SummaryMultiple denial-of-service vectors in DetailsBug 1: Unchecked array indexing in delta application (CWE-248) The
Lines 83-84 use
A second location in Note: PR #2059 (merged 2025-06-25) fixed the explicit Bug 2: Uncapped allocation from attacker-controlled size headers (CWE-770) Pack entry headers and delta headers encode object sizes as LEB128-encoded u64 values. These sizes are used to allocate buffers before validating the actual data, with no upper bound:
A 10-byte crafted pack entry can claim The allocation at PoCCompiled and executed in Rust 1.94.1
For the OOM vector: the allocation path is ImpactAny application built on gitoxide that clones or fetches from an untrusted remote can be crashed by a malicious server:
This affects the Suggested fixFor panics: replace unchecked For OOM: add a configurable maximum object size (similar to git's SeverityHigh. Network vector, no privileges required, user interaction required (clone/fetch). The OOM vector is a single-packet process kill with no recovery. Fixed in
0.69.0
References Updated Sep 10, 2026 · Source: OSV.dev
CVE-2025-31130
GHSA-2frx-2596-x5r6
RUSTSEC-2025-0021
Apr 04, 2025
gitoxide does not detect SHA-1 collision attacks
6.8
/ 10
Medium
Network
High
None
None
Changed
None
High
None
Summarygitoxide uses SHA-1 hash implementations without any collision detection, leaving it vulnerable to hash collision attacks. Detailsgitoxide uses the The SHA-1 function is considered cryptographically insecure. However, in the wake of the SHAttered attacks, this issue was mitigated in Git 2.13.0 in 2017 by using the sha1collisiondetection algorithm by default and producing an error when known SHA-1 collisions are detected. Git is in the process of migrating to using SHA-256 for object hashes, but this has not been rolled out widely yet and gitoxide does not support SHA-256 object hashes. PoCThe following program demonstrates the problem, using the two SHAttered PDFs:
The output is as follows:
The latter behaviour matches Git. Since the SHAttered PDFs are not in a valid format for Git objects, a direct proof‐of‐concept using higher‐level APIs cannot be immediately demonstrated without significant computational resources. ImpactAn attacker with the ability to mount a collision attack on SHA-1 like the SHAttered or SHA-1 is a Shambles attacks could create two distinct Git objects with the same hash. This is becoming increasingly affordable for well‐resourced attackers, with the Shambles researchers in 2020 estimating $45k for a chosen‐prefix collision or $11k for a classical collision, and projecting less than $10k for a chosen‐prefix collision by 2025. The result could be used to disguise malicious repository contents, or potentially exploit assumptions in the logic of programs using gitoxide to cause further vulnerabilities. This vulnerability affects any user of gitoxide, including Fixed in
0.58.0
References
Updated Sep 10, 2026 · Source: OSV.dev |
0.57.0
unknown
Dependencies (17)
+ 9 more
Changelog
Compare changes
|
|
0.56.0
unknown
2 CVEs
CVE-2026-82254
GHSA-x494-mj8g-cj27
May 05, 2026
gix-pack has multiple DoS vectors: unchecked indexing panics and uncapped OOM allocations from crafted pack data
High
Network
Low
None
None
SummaryMultiple denial-of-service vectors in DetailsBug 1: Unchecked array indexing in delta application (CWE-248) The
Lines 83-84 use
A second location in Note: PR #2059 (merged 2025-06-25) fixed the explicit Bug 2: Uncapped allocation from attacker-controlled size headers (CWE-770) Pack entry headers and delta headers encode object sizes as LEB128-encoded u64 values. These sizes are used to allocate buffers before validating the actual data, with no upper bound:
A 10-byte crafted pack entry can claim The allocation at PoCCompiled and executed in Rust 1.94.1
For the OOM vector: the allocation path is ImpactAny application built on gitoxide that clones or fetches from an untrusted remote can be crashed by a malicious server:
This affects the Suggested fixFor panics: replace unchecked For OOM: add a configurable maximum object size (similar to git's SeverityHigh. Network vector, no privileges required, user interaction required (clone/fetch). The OOM vector is a single-packet process kill with no recovery. Fixed in
0.69.0
References Updated Sep 10, 2026 · Source: OSV.dev
CVE-2025-31130
GHSA-2frx-2596-x5r6
RUSTSEC-2025-0021
Apr 04, 2025
gitoxide does not detect SHA-1 collision attacks
6.8
/ 10
Medium
Network
High
None
None
Changed
None
High
None
Summarygitoxide uses SHA-1 hash implementations without any collision detection, leaving it vulnerable to hash collision attacks. Detailsgitoxide uses the The SHA-1 function is considered cryptographically insecure. However, in the wake of the SHAttered attacks, this issue was mitigated in Git 2.13.0 in 2017 by using the sha1collisiondetection algorithm by default and producing an error when known SHA-1 collisions are detected. Git is in the process of migrating to using SHA-256 for object hashes, but this has not been rolled out widely yet and gitoxide does not support SHA-256 object hashes. PoCThe following program demonstrates the problem, using the two SHAttered PDFs:
The output is as follows:
The latter behaviour matches Git. Since the SHAttered PDFs are not in a valid format for Git objects, a direct proof‐of‐concept using higher‐level APIs cannot be immediately demonstrated without significant computational resources. ImpactAn attacker with the ability to mount a collision attack on SHA-1 like the SHAttered or SHA-1 is a Shambles attacks could create two distinct Git objects with the same hash. This is becoming increasingly affordable for well‐resourced attackers, with the Shambles researchers in 2020 estimating $45k for a chosen‐prefix collision or $11k for a classical collision, and projecting less than $10k for a chosen‐prefix collision by 2025. The result could be used to disguise malicious repository contents, or potentially exploit assumptions in the logic of programs using gitoxide to cause further vulnerabilities. This vulnerability affects any user of gitoxide, including Fixed in
0.58.0
References
Updated Sep 10, 2026 · Source: OSV.dev |
0.56.0
unknown
Dependencies (17)
+ 9 more
Changelog
Compare changes
|
|
0.55.0
unknown
2 CVEs
CVE-2026-82254
GHSA-x494-mj8g-cj27
May 05, 2026
gix-pack has multiple DoS vectors: unchecked indexing panics and uncapped OOM allocations from crafted pack data
High
Network
Low
None
None
SummaryMultiple denial-of-service vectors in DetailsBug 1: Unchecked array indexing in delta application (CWE-248) The
Lines 83-84 use
A second location in Note: PR #2059 (merged 2025-06-25) fixed the explicit Bug 2: Uncapped allocation from attacker-controlled size headers (CWE-770) Pack entry headers and delta headers encode object sizes as LEB128-encoded u64 values. These sizes are used to allocate buffers before validating the actual data, with no upper bound:
A 10-byte crafted pack entry can claim The allocation at PoCCompiled and executed in Rust 1.94.1
For the OOM vector: the allocation path is ImpactAny application built on gitoxide that clones or fetches from an untrusted remote can be crashed by a malicious server:
This affects the Suggested fixFor panics: replace unchecked For OOM: add a configurable maximum object size (similar to git's SeverityHigh. Network vector, no privileges required, user interaction required (clone/fetch). The OOM vector is a single-packet process kill with no recovery. Fixed in
0.69.0
References Updated Sep 10, 2026 · Source: OSV.dev
CVE-2025-31130
GHSA-2frx-2596-x5r6
RUSTSEC-2025-0021
Apr 04, 2025
gitoxide does not detect SHA-1 collision attacks
6.8
/ 10
Medium
Network
High
None
None
Changed
None
High
None
Summarygitoxide uses SHA-1 hash implementations without any collision detection, leaving it vulnerable to hash collision attacks. Detailsgitoxide uses the The SHA-1 function is considered cryptographically insecure. However, in the wake of the SHAttered attacks, this issue was mitigated in Git 2.13.0 in 2017 by using the sha1collisiondetection algorithm by default and producing an error when known SHA-1 collisions are detected. Git is in the process of migrating to using SHA-256 for object hashes, but this has not been rolled out widely yet and gitoxide does not support SHA-256 object hashes. PoCThe following program demonstrates the problem, using the two SHAttered PDFs:
The output is as follows:
The latter behaviour matches Git. Since the SHAttered PDFs are not in a valid format for Git objects, a direct proof‐of‐concept using higher‐level APIs cannot be immediately demonstrated without significant computational resources. ImpactAn attacker with the ability to mount a collision attack on SHA-1 like the SHAttered or SHA-1 is a Shambles attacks could create two distinct Git objects with the same hash. This is becoming increasingly affordable for well‐resourced attackers, with the Shambles researchers in 2020 estimating $45k for a chosen‐prefix collision or $11k for a classical collision, and projecting less than $10k for a chosen‐prefix collision by 2025. The result could be used to disguise malicious repository contents, or potentially exploit assumptions in the logic of programs using gitoxide to cause further vulnerabilities. This vulnerability affects any user of gitoxide, including Fixed in
0.58.0
References
Updated Sep 10, 2026 · Source: OSV.dev |
0.55.0
unknown
Dependencies (17)
+ 9 more
Changelog
Compare changes
|
|
0.54.0
unknown
2 CVEs
CVE-2026-82254
GHSA-x494-mj8g-cj27
May 05, 2026
gix-pack has multiple DoS vectors: unchecked indexing panics and uncapped OOM allocations from crafted pack data
High
Network
Low
None
None
SummaryMultiple denial-of-service vectors in DetailsBug 1: Unchecked array indexing in delta application (CWE-248) The
Lines 83-84 use
A second location in Note: PR #2059 (merged 2025-06-25) fixed the explicit Bug 2: Uncapped allocation from attacker-controlled size headers (CWE-770) Pack entry headers and delta headers encode object sizes as LEB128-encoded u64 values. These sizes are used to allocate buffers before validating the actual data, with no upper bound:
A 10-byte crafted pack entry can claim The allocation at PoCCompiled and executed in Rust 1.94.1
For the OOM vector: the allocation path is ImpactAny application built on gitoxide that clones or fetches from an untrusted remote can be crashed by a malicious server:
This affects the Suggested fixFor panics: replace unchecked For OOM: add a configurable maximum object size (similar to git's SeverityHigh. Network vector, no privileges required, user interaction required (clone/fetch). The OOM vector is a single-packet process kill with no recovery. Fixed in
0.69.0
References Updated Sep 10, 2026 · Source: OSV.dev
CVE-2025-31130
GHSA-2frx-2596-x5r6
RUSTSEC-2025-0021
Apr 04, 2025
gitoxide does not detect SHA-1 collision attacks
6.8
/ 10
Medium
Network
High
None
None
Changed
None
High
None
Summarygitoxide uses SHA-1 hash implementations without any collision detection, leaving it vulnerable to hash collision attacks. Detailsgitoxide uses the The SHA-1 function is considered cryptographically insecure. However, in the wake of the SHAttered attacks, this issue was mitigated in Git 2.13.0 in 2017 by using the sha1collisiondetection algorithm by default and producing an error when known SHA-1 collisions are detected. Git is in the process of migrating to using SHA-256 for object hashes, but this has not been rolled out widely yet and gitoxide does not support SHA-256 object hashes. PoCThe following program demonstrates the problem, using the two SHAttered PDFs:
The output is as follows:
The latter behaviour matches Git. Since the SHAttered PDFs are not in a valid format for Git objects, a direct proof‐of‐concept using higher‐level APIs cannot be immediately demonstrated without significant computational resources. ImpactAn attacker with the ability to mount a collision attack on SHA-1 like the SHAttered or SHA-1 is a Shambles attacks could create two distinct Git objects with the same hash. This is becoming increasingly affordable for well‐resourced attackers, with the Shambles researchers in 2020 estimating $45k for a chosen‐prefix collision or $11k for a classical collision, and projecting less than $10k for a chosen‐prefix collision by 2025. The result could be used to disguise malicious repository contents, or potentially exploit assumptions in the logic of programs using gitoxide to cause further vulnerabilities. This vulnerability affects any user of gitoxide, including Fixed in
0.58.0
References
Updated Sep 10, 2026 · Source: OSV.dev |
0.54.0
unknown
Dependencies (17)
+ 9 more
Changelog
Compare changes
|
|
0.53.0
unknown
2 CVEs
CVE-2026-82254
GHSA-x494-mj8g-cj27
May 05, 2026
gix-pack has multiple DoS vectors: unchecked indexing panics and uncapped OOM allocations from crafted pack data
High
Network
Low
None
None
SummaryMultiple denial-of-service vectors in DetailsBug 1: Unchecked array indexing in delta application (CWE-248) The
Lines 83-84 use
A second location in Note: PR #2059 (merged 2025-06-25) fixed the explicit Bug 2: Uncapped allocation from attacker-controlled size headers (CWE-770) Pack entry headers and delta headers encode object sizes as LEB128-encoded u64 values. These sizes are used to allocate buffers before validating the actual data, with no upper bound:
A 10-byte crafted pack entry can claim The allocation at PoCCompiled and executed in Rust 1.94.1
For the OOM vector: the allocation path is ImpactAny application built on gitoxide that clones or fetches from an untrusted remote can be crashed by a malicious server:
This affects the Suggested fixFor panics: replace unchecked For OOM: add a configurable maximum object size (similar to git's SeverityHigh. Network vector, no privileges required, user interaction required (clone/fetch). The OOM vector is a single-packet process kill with no recovery. Fixed in
0.69.0
References Updated Sep 10, 2026 · Source: OSV.dev
CVE-2025-31130
GHSA-2frx-2596-x5r6
RUSTSEC-2025-0021
Apr 04, 2025
gitoxide does not detect SHA-1 collision attacks
6.8
/ 10
Medium
Network
High
None
None
Changed
None
High
None
Summarygitoxide uses SHA-1 hash implementations without any collision detection, leaving it vulnerable to hash collision attacks. Detailsgitoxide uses the The SHA-1 function is considered cryptographically insecure. However, in the wake of the SHAttered attacks, this issue was mitigated in Git 2.13.0 in 2017 by using the sha1collisiondetection algorithm by default and producing an error when known SHA-1 collisions are detected. Git is in the process of migrating to using SHA-256 for object hashes, but this has not been rolled out widely yet and gitoxide does not support SHA-256 object hashes. PoCThe following program demonstrates the problem, using the two SHAttered PDFs:
The output is as follows:
The latter behaviour matches Git. Since the SHAttered PDFs are not in a valid format for Git objects, a direct proof‐of‐concept using higher‐level APIs cannot be immediately demonstrated without significant computational resources. ImpactAn attacker with the ability to mount a collision attack on SHA-1 like the SHAttered or SHA-1 is a Shambles attacks could create two distinct Git objects with the same hash. This is becoming increasingly affordable for well‐resourced attackers, with the Shambles researchers in 2020 estimating $45k for a chosen‐prefix collision or $11k for a classical collision, and projecting less than $10k for a chosen‐prefix collision by 2025. The result could be used to disguise malicious repository contents, or potentially exploit assumptions in the logic of programs using gitoxide to cause further vulnerabilities. This vulnerability affects any user of gitoxide, including Fixed in
0.58.0
References
Updated Sep 10, 2026 · Source: OSV.dev |
0.53.0
unknown
Dependencies (17)
+ 9 more
Changelog
Compare changes
|
|
0.52.0
unknown
2 CVEs
CVE-2026-82254
GHSA-x494-mj8g-cj27
May 05, 2026
gix-pack has multiple DoS vectors: unchecked indexing panics and uncapped OOM allocations from crafted pack data
High
Network
Low
None
None
SummaryMultiple denial-of-service vectors in DetailsBug 1: Unchecked array indexing in delta application (CWE-248) The
Lines 83-84 use
A second location in Note: PR #2059 (merged 2025-06-25) fixed the explicit Bug 2: Uncapped allocation from attacker-controlled size headers (CWE-770) Pack entry headers and delta headers encode object sizes as LEB128-encoded u64 values. These sizes are used to allocate buffers before validating the actual data, with no upper bound:
A 10-byte crafted pack entry can claim The allocation at PoCCompiled and executed in Rust 1.94.1
For the OOM vector: the allocation path is ImpactAny application built on gitoxide that clones or fetches from an untrusted remote can be crashed by a malicious server:
This affects the Suggested fixFor panics: replace unchecked For OOM: add a configurable maximum object size (similar to git's SeverityHigh. Network vector, no privileges required, user interaction required (clone/fetch). The OOM vector is a single-packet process kill with no recovery. Fixed in
0.69.0
References Updated Sep 10, 2026 · Source: OSV.dev
CVE-2025-31130
GHSA-2frx-2596-x5r6
RUSTSEC-2025-0021
Apr 04, 2025
gitoxide does not detect SHA-1 collision attacks
6.8
/ 10
Medium
Network
High
None
None
Changed
None
High
None
Summarygitoxide uses SHA-1 hash implementations without any collision detection, leaving it vulnerable to hash collision attacks. Detailsgitoxide uses the The SHA-1 function is considered cryptographically insecure. However, in the wake of the SHAttered attacks, this issue was mitigated in Git 2.13.0 in 2017 by using the sha1collisiondetection algorithm by default and producing an error when known SHA-1 collisions are detected. Git is in the process of migrating to using SHA-256 for object hashes, but this has not been rolled out widely yet and gitoxide does not support SHA-256 object hashes. PoCThe following program demonstrates the problem, using the two SHAttered PDFs:
The output is as follows:
The latter behaviour matches Git. Since the SHAttered PDFs are not in a valid format for Git objects, a direct proof‐of‐concept using higher‐level APIs cannot be immediately demonstrated without significant computational resources. ImpactAn attacker with the ability to mount a collision attack on SHA-1 like the SHAttered or SHA-1 is a Shambles attacks could create two distinct Git objects with the same hash. This is becoming increasingly affordable for well‐resourced attackers, with the Shambles researchers in 2020 estimating $45k for a chosen‐prefix collision or $11k for a classical collision, and projecting less than $10k for a chosen‐prefix collision by 2025. The result could be used to disguise malicious repository contents, or potentially exploit assumptions in the logic of programs using gitoxide to cause further vulnerabilities. This vulnerability affects any user of gitoxide, including Fixed in
0.58.0
References
Updated Sep 10, 2026 · Source: OSV.dev |
0.52.0
unknown
Dependencies (17)
+ 9 more
Changelog
Compare changes
|
|
0.51.1
unknown
2 CVEs
CVE-2026-82254
GHSA-x494-mj8g-cj27
May 05, 2026
gix-pack has multiple DoS vectors: unchecked indexing panics and uncapped OOM allocations from crafted pack data
High
Network
Low
None
None
SummaryMultiple denial-of-service vectors in DetailsBug 1: Unchecked array indexing in delta application (CWE-248) The
Lines 83-84 use
A second location in Note: PR #2059 (merged 2025-06-25) fixed the explicit Bug 2: Uncapped allocation from attacker-controlled size headers (CWE-770) Pack entry headers and delta headers encode object sizes as LEB128-encoded u64 values. These sizes are used to allocate buffers before validating the actual data, with no upper bound:
A 10-byte crafted pack entry can claim The allocation at PoCCompiled and executed in Rust 1.94.1
For the OOM vector: the allocation path is ImpactAny application built on gitoxide that clones or fetches from an untrusted remote can be crashed by a malicious server:
This affects the Suggested fixFor panics: replace unchecked For OOM: add a configurable maximum object size (similar to git's SeverityHigh. Network vector, no privileges required, user interaction required (clone/fetch). The OOM vector is a single-packet process kill with no recovery. Fixed in
0.69.0
References Updated Sep 10, 2026 · Source: OSV.dev
CVE-2025-31130
GHSA-2frx-2596-x5r6
RUSTSEC-2025-0021
Apr 04, 2025
gitoxide does not detect SHA-1 collision attacks
6.8
/ 10
Medium
Network
High
None
None
Changed
None
High
None
Summarygitoxide uses SHA-1 hash implementations without any collision detection, leaving it vulnerable to hash collision attacks. Detailsgitoxide uses the The SHA-1 function is considered cryptographically insecure. However, in the wake of the SHAttered attacks, this issue was mitigated in Git 2.13.0 in 2017 by using the sha1collisiondetection algorithm by default and producing an error when known SHA-1 collisions are detected. Git is in the process of migrating to using SHA-256 for object hashes, but this has not been rolled out widely yet and gitoxide does not support SHA-256 object hashes. PoCThe following program demonstrates the problem, using the two SHAttered PDFs:
The output is as follows:
The latter behaviour matches Git. Since the SHAttered PDFs are not in a valid format for Git objects, a direct proof‐of‐concept using higher‐level APIs cannot be immediately demonstrated without significant computational resources. ImpactAn attacker with the ability to mount a collision attack on SHA-1 like the SHAttered or SHA-1 is a Shambles attacks could create two distinct Git objects with the same hash. This is becoming increasingly affordable for well‐resourced attackers, with the Shambles researchers in 2020 estimating $45k for a chosen‐prefix collision or $11k for a classical collision, and projecting less than $10k for a chosen‐prefix collision by 2025. The result could be used to disguise malicious repository contents, or potentially exploit assumptions in the logic of programs using gitoxide to cause further vulnerabilities. This vulnerability affects any user of gitoxide, including Fixed in
0.58.0
References
Updated Sep 10, 2026 · Source: OSV.dev |
0.51.1
unknown
Dependencies (17)
+ 9 more
Changelog
Compare changes
|
|
0.51.0
unknown
2 CVEs
CVE-2026-82254
GHSA-x494-mj8g-cj27
May 05, 2026
gix-pack has multiple DoS vectors: unchecked indexing panics and uncapped OOM allocations from crafted pack data
High
Network
Low
None
None
SummaryMultiple denial-of-service vectors in DetailsBug 1: Unchecked array indexing in delta application (CWE-248) The
Lines 83-84 use
A second location in Note: PR #2059 (merged 2025-06-25) fixed the explicit Bug 2: Uncapped allocation from attacker-controlled size headers (CWE-770) Pack entry headers and delta headers encode object sizes as LEB128-encoded u64 values. These sizes are used to allocate buffers before validating the actual data, with no upper bound:
A 10-byte crafted pack entry can claim The allocation at PoCCompiled and executed in Rust 1.94.1
For the OOM vector: the allocation path is ImpactAny application built on gitoxide that clones or fetches from an untrusted remote can be crashed by a malicious server:
This affects the Suggested fixFor panics: replace unchecked For OOM: add a configurable maximum object size (similar to git's SeverityHigh. Network vector, no privileges required, user interaction required (clone/fetch). The OOM vector is a single-packet process kill with no recovery. Fixed in
0.69.0
References Updated Sep 10, 2026 · Source: OSV.dev
CVE-2025-31130
GHSA-2frx-2596-x5r6
RUSTSEC-2025-0021
Apr 04, 2025
gitoxide does not detect SHA-1 collision attacks
6.8
/ 10
Medium
Network
High
None
None
Changed
None
High
None
Summarygitoxide uses SHA-1 hash implementations without any collision detection, leaving it vulnerable to hash collision attacks. Detailsgitoxide uses the The SHA-1 function is considered cryptographically insecure. However, in the wake of the SHAttered attacks, this issue was mitigated in Git 2.13.0 in 2017 by using the sha1collisiondetection algorithm by default and producing an error when known SHA-1 collisions are detected. Git is in the process of migrating to using SHA-256 for object hashes, but this has not been rolled out widely yet and gitoxide does not support SHA-256 object hashes. PoCThe following program demonstrates the problem, using the two SHAttered PDFs:
The output is as follows:
The latter behaviour matches Git. Since the SHAttered PDFs are not in a valid format for Git objects, a direct proof‐of‐concept using higher‐level APIs cannot be immediately demonstrated without significant computational resources. ImpactAn attacker with the ability to mount a collision attack on SHA-1 like the SHAttered or SHA-1 is a Shambles attacks could create two distinct Git objects with the same hash. This is becoming increasingly affordable for well‐resourced attackers, with the Shambles researchers in 2020 estimating $45k for a chosen‐prefix collision or $11k for a classical collision, and projecting less than $10k for a chosen‐prefix collision by 2025. The result could be used to disguise malicious repository contents, or potentially exploit assumptions in the logic of programs using gitoxide to cause further vulnerabilities. This vulnerability affects any user of gitoxide, including Fixed in
0.58.0
References
Updated Sep 10, 2026 · Source: OSV.dev |
0.51.0
unknown
Dependencies (17)
+ 9 more
Changelog
Compare changes
|
|
0.50.0
unknown
2 CVEs
CVE-2026-82254
GHSA-x494-mj8g-cj27
May 05, 2026
gix-pack has multiple DoS vectors: unchecked indexing panics and uncapped OOM allocations from crafted pack data
High
Network
Low
None
None
SummaryMultiple denial-of-service vectors in DetailsBug 1: Unchecked array indexing in delta application (CWE-248) The
Lines 83-84 use
A second location in Note: PR #2059 (merged 2025-06-25) fixed the explicit Bug 2: Uncapped allocation from attacker-controlled size headers (CWE-770) Pack entry headers and delta headers encode object sizes as LEB128-encoded u64 values. These sizes are used to allocate buffers before validating the actual data, with no upper bound:
A 10-byte crafted pack entry can claim The allocation at PoCCompiled and executed in Rust 1.94.1
For the OOM vector: the allocation path is ImpactAny application built on gitoxide that clones or fetches from an untrusted remote can be crashed by a malicious server:
This affects the Suggested fixFor panics: replace unchecked For OOM: add a configurable maximum object size (similar to git's SeverityHigh. Network vector, no privileges required, user interaction required (clone/fetch). The OOM vector is a single-packet process kill with no recovery. Fixed in
0.69.0
References Updated Sep 10, 2026 · Source: OSV.dev
CVE-2025-31130
GHSA-2frx-2596-x5r6
RUSTSEC-2025-0021
Apr 04, 2025
gitoxide does not detect SHA-1 collision attacks
6.8
/ 10
Medium
Network
High
None
None
Changed
None
High
None
Summarygitoxide uses SHA-1 hash implementations without any collision detection, leaving it vulnerable to hash collision attacks. Detailsgitoxide uses the The SHA-1 function is considered cryptographically insecure. However, in the wake of the SHAttered attacks, this issue was mitigated in Git 2.13.0 in 2017 by using the sha1collisiondetection algorithm by default and producing an error when known SHA-1 collisions are detected. Git is in the process of migrating to using SHA-256 for object hashes, but this has not been rolled out widely yet and gitoxide does not support SHA-256 object hashes. PoCThe following program demonstrates the problem, using the two SHAttered PDFs:
The output is as follows:
The latter behaviour matches Git. Since the SHAttered PDFs are not in a valid format for Git objects, a direct proof‐of‐concept using higher‐level APIs cannot be immediately demonstrated without significant computational resources. ImpactAn attacker with the ability to mount a collision attack on SHA-1 like the SHAttered or SHA-1 is a Shambles attacks could create two distinct Git objects with the same hash. This is becoming increasingly affordable for well‐resourced attackers, with the Shambles researchers in 2020 estimating $45k for a chosen‐prefix collision or $11k for a classical collision, and projecting less than $10k for a chosen‐prefix collision by 2025. The result could be used to disguise malicious repository contents, or potentially exploit assumptions in the logic of programs using gitoxide to cause further vulnerabilities. This vulnerability affects any user of gitoxide, including Fixed in
0.58.0
References
Updated Sep 10, 2026 · Source: OSV.dev |
0.50.0
unknown
Dependencies (17)
+ 9 more
Changelog
Compare changes
|
|
0.49.0
unknown
2 CVEs
CVE-2026-82254
GHSA-x494-mj8g-cj27
May 05, 2026
gix-pack has multiple DoS vectors: unchecked indexing panics and uncapped OOM allocations from crafted pack data
High
Network
Low
None
None
SummaryMultiple denial-of-service vectors in DetailsBug 1: Unchecked array indexing in delta application (CWE-248) The
Lines 83-84 use
A second location in Note: PR #2059 (merged 2025-06-25) fixed the explicit Bug 2: Uncapped allocation from attacker-controlled size headers (CWE-770) Pack entry headers and delta headers encode object sizes as LEB128-encoded u64 values. These sizes are used to allocate buffers before validating the actual data, with no upper bound:
A 10-byte crafted pack entry can claim The allocation at PoCCompiled and executed in Rust 1.94.1
For the OOM vector: the allocation path is ImpactAny application built on gitoxide that clones or fetches from an untrusted remote can be crashed by a malicious server:
This affects the Suggested fixFor panics: replace unchecked For OOM: add a configurable maximum object size (similar to git's SeverityHigh. Network vector, no privileges required, user interaction required (clone/fetch). The OOM vector is a single-packet process kill with no recovery. Fixed in
0.69.0
References Updated Sep 10, 2026 · Source: OSV.dev
CVE-2025-31130
GHSA-2frx-2596-x5r6
RUSTSEC-2025-0021
Apr 04, 2025
gitoxide does not detect SHA-1 collision attacks
6.8
/ 10
Medium
Network
High
None
None
Changed
None
High
None
Summarygitoxide uses SHA-1 hash implementations without any collision detection, leaving it vulnerable to hash collision attacks. Detailsgitoxide uses the The SHA-1 function is considered cryptographically insecure. However, in the wake of the SHAttered attacks, this issue was mitigated in Git 2.13.0 in 2017 by using the sha1collisiondetection algorithm by default and producing an error when known SHA-1 collisions are detected. Git is in the process of migrating to using SHA-256 for object hashes, but this has not been rolled out widely yet and gitoxide does not support SHA-256 object hashes. PoCThe following program demonstrates the problem, using the two SHAttered PDFs:
The output is as follows:
The latter behaviour matches Git. Since the SHAttered PDFs are not in a valid format for Git objects, a direct proof‐of‐concept using higher‐level APIs cannot be immediately demonstrated without significant computational resources. ImpactAn attacker with the ability to mount a collision attack on SHA-1 like the SHAttered or SHA-1 is a Shambles attacks could create two distinct Git objects with the same hash. This is becoming increasingly affordable for well‐resourced attackers, with the Shambles researchers in 2020 estimating $45k for a chosen‐prefix collision or $11k for a classical collision, and projecting less than $10k for a chosen‐prefix collision by 2025. The result could be used to disguise malicious repository contents, or potentially exploit assumptions in the logic of programs using gitoxide to cause further vulnerabilities. This vulnerability affects any user of gitoxide, including Fixed in
0.58.0
References
Updated Sep 10, 2026 · Source: OSV.dev |
0.49.0
unknown
Dependencies (17)
+ 9 more
Changelog
Compare changes
|
|
0.48.0
unknown
2 CVEs
CVE-2026-82254
GHSA-x494-mj8g-cj27
May 05, 2026
gix-pack has multiple DoS vectors: unchecked indexing panics and uncapped OOM allocations from crafted pack data
High
Network
Low
None
None
SummaryMultiple denial-of-service vectors in DetailsBug 1: Unchecked array indexing in delta application (CWE-248) The
Lines 83-84 use
A second location in Note: PR #2059 (merged 2025-06-25) fixed the explicit Bug 2: Uncapped allocation from attacker-controlled size headers (CWE-770) Pack entry headers and delta headers encode object sizes as LEB128-encoded u64 values. These sizes are used to allocate buffers before validating the actual data, with no upper bound:
A 10-byte crafted pack entry can claim The allocation at PoCCompiled and executed in Rust 1.94.1
For the OOM vector: the allocation path is ImpactAny application built on gitoxide that clones or fetches from an untrusted remote can be crashed by a malicious server:
This affects the Suggested fixFor panics: replace unchecked For OOM: add a configurable maximum object size (similar to git's SeverityHigh. Network vector, no privileges required, user interaction required (clone/fetch). The OOM vector is a single-packet process kill with no recovery. Fixed in
0.69.0
References Updated Sep 10, 2026 · Source: OSV.dev
CVE-2025-31130
GHSA-2frx-2596-x5r6
RUSTSEC-2025-0021
Apr 04, 2025
gitoxide does not detect SHA-1 collision attacks
6.8
/ 10
Medium
Network
High
None
None
Changed
None
High
None
Summarygitoxide uses SHA-1 hash implementations without any collision detection, leaving it vulnerable to hash collision attacks. Detailsgitoxide uses the The SHA-1 function is considered cryptographically insecure. However, in the wake of the SHAttered attacks, this issue was mitigated in Git 2.13.0 in 2017 by using the sha1collisiondetection algorithm by default and producing an error when known SHA-1 collisions are detected. Git is in the process of migrating to using SHA-256 for object hashes, but this has not been rolled out widely yet and gitoxide does not support SHA-256 object hashes. PoCThe following program demonstrates the problem, using the two SHAttered PDFs:
The output is as follows:
The latter behaviour matches Git. Since the SHAttered PDFs are not in a valid format for Git objects, a direct proof‐of‐concept using higher‐level APIs cannot be immediately demonstrated without significant computational resources. ImpactAn attacker with the ability to mount a collision attack on SHA-1 like the SHAttered or SHA-1 is a Shambles attacks could create two distinct Git objects with the same hash. This is becoming increasingly affordable for well‐resourced attackers, with the Shambles researchers in 2020 estimating $45k for a chosen‐prefix collision or $11k for a classical collision, and projecting less than $10k for a chosen‐prefix collision by 2025. The result could be used to disguise malicious repository contents, or potentially exploit assumptions in the logic of programs using gitoxide to cause further vulnerabilities. This vulnerability affects any user of gitoxide, including Fixed in
0.58.0
References
Updated Sep 10, 2026 · Source: OSV.dev |
0.48.0
unknown
Dependencies (17)
+ 9 more
Changelog
Compare changes
|
|
0.47.0
unknown
2 CVEs
CVE-2026-82254
GHSA-x494-mj8g-cj27
May 05, 2026
gix-pack has multiple DoS vectors: unchecked indexing panics and uncapped OOM allocations from crafted pack data
High
Network
Low
None
None
SummaryMultiple denial-of-service vectors in DetailsBug 1: Unchecked array indexing in delta application (CWE-248) The
Lines 83-84 use
A second location in Note: PR #2059 (merged 2025-06-25) fixed the explicit Bug 2: Uncapped allocation from attacker-controlled size headers (CWE-770) Pack entry headers and delta headers encode object sizes as LEB128-encoded u64 values. These sizes are used to allocate buffers before validating the actual data, with no upper bound:
A 10-byte crafted pack entry can claim The allocation at PoCCompiled and executed in Rust 1.94.1
For the OOM vector: the allocation path is ImpactAny application built on gitoxide that clones or fetches from an untrusted remote can be crashed by a malicious server:
This affects the Suggested fixFor panics: replace unchecked For OOM: add a configurable maximum object size (similar to git's SeverityHigh. Network vector, no privileges required, user interaction required (clone/fetch). The OOM vector is a single-packet process kill with no recovery. Fixed in
0.69.0
References Updated Sep 10, 2026 · Source: OSV.dev
CVE-2025-31130
GHSA-2frx-2596-x5r6
RUSTSEC-2025-0021
Apr 04, 2025
gitoxide does not detect SHA-1 collision attacks
6.8
/ 10
Medium
Network
High
None
None
Changed
None
High
None
Summarygitoxide uses SHA-1 hash implementations without any collision detection, leaving it vulnerable to hash collision attacks. Detailsgitoxide uses the The SHA-1 function is considered cryptographically insecure. However, in the wake of the SHAttered attacks, this issue was mitigated in Git 2.13.0 in 2017 by using the sha1collisiondetection algorithm by default and producing an error when known SHA-1 collisions are detected. Git is in the process of migrating to using SHA-256 for object hashes, but this has not been rolled out widely yet and gitoxide does not support SHA-256 object hashes. PoCThe following program demonstrates the problem, using the two SHAttered PDFs:
The output is as follows:
The latter behaviour matches Git. Since the SHAttered PDFs are not in a valid format for Git objects, a direct proof‐of‐concept using higher‐level APIs cannot be immediately demonstrated without significant computational resources. ImpactAn attacker with the ability to mount a collision attack on SHA-1 like the SHAttered or SHA-1 is a Shambles attacks could create two distinct Git objects with the same hash. This is becoming increasingly affordable for well‐resourced attackers, with the Shambles researchers in 2020 estimating $45k for a chosen‐prefix collision or $11k for a classical collision, and projecting less than $10k for a chosen‐prefix collision by 2025. The result could be used to disguise malicious repository contents, or potentially exploit assumptions in the logic of programs using gitoxide to cause further vulnerabilities. This vulnerability affects any user of gitoxide, including Fixed in
0.58.0
References
Updated Sep 10, 2026 · Source: OSV.dev |
0.47.0
unknown
Dependencies (17)
+ 9 more
Changelog
Compare changes
|
|
0.46.1
unknown
2 CVEs
CVE-2026-82254
GHSA-x494-mj8g-cj27
May 05, 2026
gix-pack has multiple DoS vectors: unchecked indexing panics and uncapped OOM allocations from crafted pack data
High
Network
Low
None
None
SummaryMultiple denial-of-service vectors in DetailsBug 1: Unchecked array indexing in delta application (CWE-248) The
Lines 83-84 use
A second location in Note: PR #2059 (merged 2025-06-25) fixed the explicit Bug 2: Uncapped allocation from attacker-controlled size headers (CWE-770) Pack entry headers and delta headers encode object sizes as LEB128-encoded u64 values. These sizes are used to allocate buffers before validating the actual data, with no upper bound:
A 10-byte crafted pack entry can claim The allocation at PoCCompiled and executed in Rust 1.94.1
For the OOM vector: the allocation path is ImpactAny application built on gitoxide that clones or fetches from an untrusted remote can be crashed by a malicious server:
This affects the Suggested fixFor panics: replace unchecked For OOM: add a configurable maximum object size (similar to git's SeverityHigh. Network vector, no privileges required, user interaction required (clone/fetch). The OOM vector is a single-packet process kill with no recovery. Fixed in
0.69.0
References Updated Sep 10, 2026 · Source: OSV.dev
CVE-2025-31130
GHSA-2frx-2596-x5r6
RUSTSEC-2025-0021
Apr 04, 2025
gitoxide does not detect SHA-1 collision attacks
6.8
/ 10
Medium
Network
High
None
None
Changed
None
High
None
Summarygitoxide uses SHA-1 hash implementations without any collision detection, leaving it vulnerable to hash collision attacks. Detailsgitoxide uses the The SHA-1 function is considered cryptographically insecure. However, in the wake of the SHAttered attacks, this issue was mitigated in Git 2.13.0 in 2017 by using the sha1collisiondetection algorithm by default and producing an error when known SHA-1 collisions are detected. Git is in the process of migrating to using SHA-256 for object hashes, but this has not been rolled out widely yet and gitoxide does not support SHA-256 object hashes. PoCThe following program demonstrates the problem, using the two SHAttered PDFs:
The output is as follows:
The latter behaviour matches Git. Since the SHAttered PDFs are not in a valid format for Git objects, a direct proof‐of‐concept using higher‐level APIs cannot be immediately demonstrated without significant computational resources. ImpactAn attacker with the ability to mount a collision attack on SHA-1 like the SHAttered or SHA-1 is a Shambles attacks could create two distinct Git objects with the same hash. This is becoming increasingly affordable for well‐resourced attackers, with the Shambles researchers in 2020 estimating $45k for a chosen‐prefix collision or $11k for a classical collision, and projecting less than $10k for a chosen‐prefix collision by 2025. The result could be used to disguise malicious repository contents, or potentially exploit assumptions in the logic of programs using gitoxide to cause further vulnerabilities. This vulnerability affects any user of gitoxide, including Fixed in
0.58.0
References
Updated Sep 10, 2026 · Source: OSV.dev |
0.46.1
unknown
Dependencies (17)
+ 9 more
Changelog
Compare changes
|
|
0.46.0
unknown
2 CVEs
CVE-2026-82254
GHSA-x494-mj8g-cj27
May 05, 2026
gix-pack has multiple DoS vectors: unchecked indexing panics and uncapped OOM allocations from crafted pack data
High
Network
Low
None
None
SummaryMultiple denial-of-service vectors in DetailsBug 1: Unchecked array indexing in delta application (CWE-248) The
Lines 83-84 use
A second location in Note: PR #2059 (merged 2025-06-25) fixed the explicit Bug 2: Uncapped allocation from attacker-controlled size headers (CWE-770) Pack entry headers and delta headers encode object sizes as LEB128-encoded u64 values. These sizes are used to allocate buffers before validating the actual data, with no upper bound:
A 10-byte crafted pack entry can claim The allocation at PoCCompiled and executed in Rust 1.94.1
For the OOM vector: the allocation path is ImpactAny application built on gitoxide that clones or fetches from an untrusted remote can be crashed by a malicious server:
This affects the Suggested fixFor panics: replace unchecked For OOM: add a configurable maximum object size (similar to git's SeverityHigh. Network vector, no privileges required, user interaction required (clone/fetch). The OOM vector is a single-packet process kill with no recovery. Fixed in
0.69.0
References Updated Sep 10, 2026 · Source: OSV.dev
CVE-2025-31130
GHSA-2frx-2596-x5r6
RUSTSEC-2025-0021
Apr 04, 2025
gitoxide does not detect SHA-1 collision attacks
6.8
/ 10
Medium
Network
High
None
None
Changed
None
High
None
Summarygitoxide uses SHA-1 hash implementations without any collision detection, leaving it vulnerable to hash collision attacks. Detailsgitoxide uses the The SHA-1 function is considered cryptographically insecure. However, in the wake of the SHAttered attacks, this issue was mitigated in Git 2.13.0 in 2017 by using the sha1collisiondetection algorithm by default and producing an error when known SHA-1 collisions are detected. Git is in the process of migrating to using SHA-256 for object hashes, but this has not been rolled out widely yet and gitoxide does not support SHA-256 object hashes. PoCThe following program demonstrates the problem, using the two SHAttered PDFs:
The output is as follows:
The latter behaviour matches Git. Since the SHAttered PDFs are not in a valid format for Git objects, a direct proof‐of‐concept using higher‐level APIs cannot be immediately demonstrated without significant computational resources. ImpactAn attacker with the ability to mount a collision attack on SHA-1 like the SHAttered or SHA-1 is a Shambles attacks could create two distinct Git objects with the same hash. This is becoming increasingly affordable for well‐resourced attackers, with the Shambles researchers in 2020 estimating $45k for a chosen‐prefix collision or $11k for a classical collision, and projecting less than $10k for a chosen‐prefix collision by 2025. The result could be used to disguise malicious repository contents, or potentially exploit assumptions in the logic of programs using gitoxide to cause further vulnerabilities. This vulnerability affects any user of gitoxide, including Fixed in
0.58.0
References
Updated Sep 10, 2026 · Source: OSV.dev |
0.46.0
unknown
Dependencies (17)
+ 9 more
Changelog
Compare changes
|
|
0.45.0
unknown
2 CVEs
CVE-2026-82254
GHSA-x494-mj8g-cj27
May 05, 2026
gix-pack has multiple DoS vectors: unchecked indexing panics and uncapped OOM allocations from crafted pack data
High
Network
Low
None
None
SummaryMultiple denial-of-service vectors in DetailsBug 1: Unchecked array indexing in delta application (CWE-248) The
Lines 83-84 use
A second location in Note: PR #2059 (merged 2025-06-25) fixed the explicit Bug 2: Uncapped allocation from attacker-controlled size headers (CWE-770) Pack entry headers and delta headers encode object sizes as LEB128-encoded u64 values. These sizes are used to allocate buffers before validating the actual data, with no upper bound:
A 10-byte crafted pack entry can claim The allocation at PoCCompiled and executed in Rust 1.94.1
For the OOM vector: the allocation path is ImpactAny application built on gitoxide that clones or fetches from an untrusted remote can be crashed by a malicious server:
This affects the Suggested fixFor panics: replace unchecked For OOM: add a configurable maximum object size (similar to git's SeverityHigh. Network vector, no privileges required, user interaction required (clone/fetch). The OOM vector is a single-packet process kill with no recovery. Fixed in
0.69.0
References Updated Sep 10, 2026 · Source: OSV.dev
CVE-2025-31130
GHSA-2frx-2596-x5r6
RUSTSEC-2025-0021
Apr 04, 2025
gitoxide does not detect SHA-1 collision attacks
6.8
/ 10
Medium
Network
High
None
None
Changed
None
High
None
Summarygitoxide uses SHA-1 hash implementations without any collision detection, leaving it vulnerable to hash collision attacks. Detailsgitoxide uses the The SHA-1 function is considered cryptographically insecure. However, in the wake of the SHAttered attacks, this issue was mitigated in Git 2.13.0 in 2017 by using the sha1collisiondetection algorithm by default and producing an error when known SHA-1 collisions are detected. Git is in the process of migrating to using SHA-256 for object hashes, but this has not been rolled out widely yet and gitoxide does not support SHA-256 object hashes. PoCThe following program demonstrates the problem, using the two SHAttered PDFs:
The output is as follows:
The latter behaviour matches Git. Since the SHAttered PDFs are not in a valid format for Git objects, a direct proof‐of‐concept using higher‐level APIs cannot be immediately demonstrated without significant computational resources. ImpactAn attacker with the ability to mount a collision attack on SHA-1 like the SHAttered or SHA-1 is a Shambles attacks could create two distinct Git objects with the same hash. This is becoming increasingly affordable for well‐resourced attackers, with the Shambles researchers in 2020 estimating $45k for a chosen‐prefix collision or $11k for a classical collision, and projecting less than $10k for a chosen‐prefix collision by 2025. The result could be used to disguise malicious repository contents, or potentially exploit assumptions in the logic of programs using gitoxide to cause further vulnerabilities. This vulnerability affects any user of gitoxide, including Fixed in
0.58.0
References
Updated Sep 10, 2026 · Source: OSV.dev |
0.45.0
unknown
Dependencies (17)
+ 9 more
Changelog
Compare changes
|
|
0.44.0
unknown
2 CVEs
CVE-2026-82254
GHSA-x494-mj8g-cj27
May 05, 2026
gix-pack has multiple DoS vectors: unchecked indexing panics and uncapped OOM allocations from crafted pack data
High
Network
Low
None
None
SummaryMultiple denial-of-service vectors in DetailsBug 1: Unchecked array indexing in delta application (CWE-248) The
Lines 83-84 use
A second location in Note: PR #2059 (merged 2025-06-25) fixed the explicit Bug 2: Uncapped allocation from attacker-controlled size headers (CWE-770) Pack entry headers and delta headers encode object sizes as LEB128-encoded u64 values. These sizes are used to allocate buffers before validating the actual data, with no upper bound:
A 10-byte crafted pack entry can claim The allocation at PoCCompiled and executed in Rust 1.94.1
For the OOM vector: the allocation path is ImpactAny application built on gitoxide that clones or fetches from an untrusted remote can be crashed by a malicious server:
This affects the Suggested fixFor panics: replace unchecked For OOM: add a configurable maximum object size (similar to git's SeverityHigh. Network vector, no privileges required, user interaction required (clone/fetch). The OOM vector is a single-packet process kill with no recovery. Fixed in
0.69.0
References Updated Sep 10, 2026 · Source: OSV.dev
CVE-2025-31130
GHSA-2frx-2596-x5r6
RUSTSEC-2025-0021
Apr 04, 2025
gitoxide does not detect SHA-1 collision attacks
6.8
/ 10
Medium
Network
High
None
None
Changed
None
High
None
Summarygitoxide uses SHA-1 hash implementations without any collision detection, leaving it vulnerable to hash collision attacks. Detailsgitoxide uses the The SHA-1 function is considered cryptographically insecure. However, in the wake of the SHAttered attacks, this issue was mitigated in Git 2.13.0 in 2017 by using the sha1collisiondetection algorithm by default and producing an error when known SHA-1 collisions are detected. Git is in the process of migrating to using SHA-256 for object hashes, but this has not been rolled out widely yet and gitoxide does not support SHA-256 object hashes. PoCThe following program demonstrates the problem, using the two SHAttered PDFs:
The output is as follows:
The latter behaviour matches Git. Since the SHAttered PDFs are not in a valid format for Git objects, a direct proof‐of‐concept using higher‐level APIs cannot be immediately demonstrated without significant computational resources. ImpactAn attacker with the ability to mount a collision attack on SHA-1 like the SHAttered or SHA-1 is a Shambles attacks could create two distinct Git objects with the same hash. This is becoming increasingly affordable for well‐resourced attackers, with the Shambles researchers in 2020 estimating $45k for a chosen‐prefix collision or $11k for a classical collision, and projecting less than $10k for a chosen‐prefix collision by 2025. The result could be used to disguise malicious repository contents, or potentially exploit assumptions in the logic of programs using gitoxide to cause further vulnerabilities. This vulnerability affects any user of gitoxide, including Fixed in
0.58.0
References
Updated Sep 10, 2026 · Source: OSV.dev |
0.44.0
unknown
Dependencies (17)
+ 9 more
Changelog
Compare changes
|
|
0.43.0
unknown
2 CVEs
CVE-2026-82254
GHSA-x494-mj8g-cj27
May 05, 2026
gix-pack has multiple DoS vectors: unchecked indexing panics and uncapped OOM allocations from crafted pack data
High
Network
Low
None
None
SummaryMultiple denial-of-service vectors in DetailsBug 1: Unchecked array indexing in delta application (CWE-248) The
Lines 83-84 use
A second location in Note: PR #2059 (merged 2025-06-25) fixed the explicit Bug 2: Uncapped allocation from attacker-controlled size headers (CWE-770) Pack entry headers and delta headers encode object sizes as LEB128-encoded u64 values. These sizes are used to allocate buffers before validating the actual data, with no upper bound:
A 10-byte crafted pack entry can claim The allocation at PoCCompiled and executed in Rust 1.94.1
For the OOM vector: the allocation path is ImpactAny application built on gitoxide that clones or fetches from an untrusted remote can be crashed by a malicious server:
This affects the Suggested fixFor panics: replace unchecked For OOM: add a configurable maximum object size (similar to git's SeverityHigh. Network vector, no privileges required, user interaction required (clone/fetch). The OOM vector is a single-packet process kill with no recovery. Fixed in
0.69.0
References Updated Sep 10, 2026 · Source: OSV.dev
CVE-2025-31130
GHSA-2frx-2596-x5r6
RUSTSEC-2025-0021
Apr 04, 2025
gitoxide does not detect SHA-1 collision attacks
6.8
/ 10
Medium
Network
High
None
None
Changed
None
High
None
Summarygitoxide uses SHA-1 hash implementations without any collision detection, leaving it vulnerable to hash collision attacks. Detailsgitoxide uses the The SHA-1 function is considered cryptographically insecure. However, in the wake of the SHAttered attacks, this issue was mitigated in Git 2.13.0 in 2017 by using the sha1collisiondetection algorithm by default and producing an error when known SHA-1 collisions are detected. Git is in the process of migrating to using SHA-256 for object hashes, but this has not been rolled out widely yet and gitoxide does not support SHA-256 object hashes. PoCThe following program demonstrates the problem, using the two SHAttered PDFs:
The output is as follows:
The latter behaviour matches Git. Since the SHAttered PDFs are not in a valid format for Git objects, a direct proof‐of‐concept using higher‐level APIs cannot be immediately demonstrated without significant computational resources. ImpactAn attacker with the ability to mount a collision attack on SHA-1 like the SHAttered or SHA-1 is a Shambles attacks could create two distinct Git objects with the same hash. This is becoming increasingly affordable for well‐resourced attackers, with the Shambles researchers in 2020 estimating $45k for a chosen‐prefix collision or $11k for a classical collision, and projecting less than $10k for a chosen‐prefix collision by 2025. The result could be used to disguise malicious repository contents, or potentially exploit assumptions in the logic of programs using gitoxide to cause further vulnerabilities. This vulnerability affects any user of gitoxide, including Fixed in
0.58.0
References
Updated Sep 10, 2026 · Source: OSV.dev |
0.43.0
unknown
Dependencies (17)
+ 9 more
Changelog
Compare changes
|
|
0.42.0
unknown
2 CVEs
CVE-2026-82254
GHSA-x494-mj8g-cj27
May 05, 2026
gix-pack has multiple DoS vectors: unchecked indexing panics and uncapped OOM allocations from crafted pack data
High
Network
Low
None
None
SummaryMultiple denial-of-service vectors in DetailsBug 1: Unchecked array indexing in delta application (CWE-248) The
Lines 83-84 use
A second location in Note: PR #2059 (merged 2025-06-25) fixed the explicit Bug 2: Uncapped allocation from attacker-controlled size headers (CWE-770) Pack entry headers and delta headers encode object sizes as LEB128-encoded u64 values. These sizes are used to allocate buffers before validating the actual data, with no upper bound:
A 10-byte crafted pack entry can claim The allocation at PoCCompiled and executed in Rust 1.94.1
For the OOM vector: the allocation path is ImpactAny application built on gitoxide that clones or fetches from an untrusted remote can be crashed by a malicious server:
This affects the Suggested fixFor panics: replace unchecked For OOM: add a configurable maximum object size (similar to git's SeverityHigh. Network vector, no privileges required, user interaction required (clone/fetch). The OOM vector is a single-packet process kill with no recovery. Fixed in
0.69.0
References Updated Sep 10, 2026 · Source: OSV.dev
CVE-2025-31130
GHSA-2frx-2596-x5r6
RUSTSEC-2025-0021
Apr 04, 2025
gitoxide does not detect SHA-1 collision attacks
6.8
/ 10
Medium
Network
High
None
None
Changed
None
High
None
Summarygitoxide uses SHA-1 hash implementations without any collision detection, leaving it vulnerable to hash collision attacks. Detailsgitoxide uses the The SHA-1 function is considered cryptographically insecure. However, in the wake of the SHAttered attacks, this issue was mitigated in Git 2.13.0 in 2017 by using the sha1collisiondetection algorithm by default and producing an error when known SHA-1 collisions are detected. Git is in the process of migrating to using SHA-256 for object hashes, but this has not been rolled out widely yet and gitoxide does not support SHA-256 object hashes. PoCThe following program demonstrates the problem, using the two SHAttered PDFs:
The output is as follows:
The latter behaviour matches Git. Since the SHAttered PDFs are not in a valid format for Git objects, a direct proof‐of‐concept using higher‐level APIs cannot be immediately demonstrated without significant computational resources. ImpactAn attacker with the ability to mount a collision attack on SHA-1 like the SHAttered or SHA-1 is a Shambles attacks could create two distinct Git objects with the same hash. This is becoming increasingly affordable for well‐resourced attackers, with the Shambles researchers in 2020 estimating $45k for a chosen‐prefix collision or $11k for a classical collision, and projecting less than $10k for a chosen‐prefix collision by 2025. The result could be used to disguise malicious repository contents, or potentially exploit assumptions in the logic of programs using gitoxide to cause further vulnerabilities. This vulnerability affects any user of gitoxide, including Fixed in
0.58.0
References
Updated Sep 10, 2026 · Source: OSV.dev |
0.42.0
unknown
Dependencies (17)
+ 9 more
Changelog
Compare changes
|
|
0.41.0
unknown
2 CVEs
CVE-2026-82254
GHSA-x494-mj8g-cj27
May 05, 2026
gix-pack has multiple DoS vectors: unchecked indexing panics and uncapped OOM allocations from crafted pack data
High
Network
Low
None
None
SummaryMultiple denial-of-service vectors in DetailsBug 1: Unchecked array indexing in delta application (CWE-248) The
Lines 83-84 use
A second location in Note: PR #2059 (merged 2025-06-25) fixed the explicit Bug 2: Uncapped allocation from attacker-controlled size headers (CWE-770) Pack entry headers and delta headers encode object sizes as LEB128-encoded u64 values. These sizes are used to allocate buffers before validating the actual data, with no upper bound:
A 10-byte crafted pack entry can claim The allocation at PoCCompiled and executed in Rust 1.94.1
For the OOM vector: the allocation path is ImpactAny application built on gitoxide that clones or fetches from an untrusted remote can be crashed by a malicious server:
This affects the Suggested fixFor panics: replace unchecked For OOM: add a configurable maximum object size (similar to git's SeverityHigh. Network vector, no privileges required, user interaction required (clone/fetch). The OOM vector is a single-packet process kill with no recovery. Fixed in
0.69.0
References Updated Sep 10, 2026 · Source: OSV.dev
CVE-2025-31130
GHSA-2frx-2596-x5r6
RUSTSEC-2025-0021
Apr 04, 2025
gitoxide does not detect SHA-1 collision attacks
6.8
/ 10
Medium
Network
High
None
None
Changed
None
High
None
Summarygitoxide uses SHA-1 hash implementations without any collision detection, leaving it vulnerable to hash collision attacks. Detailsgitoxide uses the The SHA-1 function is considered cryptographically insecure. However, in the wake of the SHAttered attacks, this issue was mitigated in Git 2.13.0 in 2017 by using the sha1collisiondetection algorithm by default and producing an error when known SHA-1 collisions are detected. Git is in the process of migrating to using SHA-256 for object hashes, but this has not been rolled out widely yet and gitoxide does not support SHA-256 object hashes. PoCThe following program demonstrates the problem, using the two SHAttered PDFs:
The output is as follows:
The latter behaviour matches Git. Since the SHAttered PDFs are not in a valid format for Git objects, a direct proof‐of‐concept using higher‐level APIs cannot be immediately demonstrated without significant computational resources. ImpactAn attacker with the ability to mount a collision attack on SHA-1 like the SHAttered or SHA-1 is a Shambles attacks could create two distinct Git objects with the same hash. This is becoming increasingly affordable for well‐resourced attackers, with the Shambles researchers in 2020 estimating $45k for a chosen‐prefix collision or $11k for a classical collision, and projecting less than $10k for a chosen‐prefix collision by 2025. The result could be used to disguise malicious repository contents, or potentially exploit assumptions in the logic of programs using gitoxide to cause further vulnerabilities. This vulnerability affects any user of gitoxide, including Fixed in
0.58.0
References
Updated Sep 10, 2026 · Source: OSV.dev |
0.41.0
unknown
Dependencies (17)
+ 9 more
Changelog
Compare changes
|
|
0.40.2
unknown
2 CVEs
CVE-2026-82254
GHSA-x494-mj8g-cj27
May 05, 2026
gix-pack has multiple DoS vectors: unchecked indexing panics and uncapped OOM allocations from crafted pack data
High
Network
Low
None
None
SummaryMultiple denial-of-service vectors in DetailsBug 1: Unchecked array indexing in delta application (CWE-248) The
Lines 83-84 use
A second location in Note: PR #2059 (merged 2025-06-25) fixed the explicit Bug 2: Uncapped allocation from attacker-controlled size headers (CWE-770) Pack entry headers and delta headers encode object sizes as LEB128-encoded u64 values. These sizes are used to allocate buffers before validating the actual data, with no upper bound:
A 10-byte crafted pack entry can claim The allocation at PoCCompiled and executed in Rust 1.94.1
For the OOM vector: the allocation path is ImpactAny application built on gitoxide that clones or fetches from an untrusted remote can be crashed by a malicious server:
This affects the Suggested fixFor panics: replace unchecked For OOM: add a configurable maximum object size (similar to git's SeverityHigh. Network vector, no privileges required, user interaction required (clone/fetch). The OOM vector is a single-packet process kill with no recovery. Fixed in
0.69.0
References Updated Sep 10, 2026 · Source: OSV.dev
CVE-2025-31130
GHSA-2frx-2596-x5r6
RUSTSEC-2025-0021
Apr 04, 2025
gitoxide does not detect SHA-1 collision attacks
6.8
/ 10
Medium
Network
High
None
None
Changed
None
High
None
Summarygitoxide uses SHA-1 hash implementations without any collision detection, leaving it vulnerable to hash collision attacks. Detailsgitoxide uses the The SHA-1 function is considered cryptographically insecure. However, in the wake of the SHAttered attacks, this issue was mitigated in Git 2.13.0 in 2017 by using the sha1collisiondetection algorithm by default and producing an error when known SHA-1 collisions are detected. Git is in the process of migrating to using SHA-256 for object hashes, but this has not been rolled out widely yet and gitoxide does not support SHA-256 object hashes. PoCThe following program demonstrates the problem, using the two SHAttered PDFs:
The output is as follows:
The latter behaviour matches Git. Since the SHAttered PDFs are not in a valid format for Git objects, a direct proof‐of‐concept using higher‐level APIs cannot be immediately demonstrated without significant computational resources. ImpactAn attacker with the ability to mount a collision attack on SHA-1 like the SHAttered or SHA-1 is a Shambles attacks could create two distinct Git objects with the same hash. This is becoming increasingly affordable for well‐resourced attackers, with the Shambles researchers in 2020 estimating $45k for a chosen‐prefix collision or $11k for a classical collision, and projecting less than $10k for a chosen‐prefix collision by 2025. The result could be used to disguise malicious repository contents, or potentially exploit assumptions in the logic of programs using gitoxide to cause further vulnerabilities. This vulnerability affects any user of gitoxide, including Fixed in
0.58.0
References
Updated Sep 10, 2026 · Source: OSV.dev |
0.40.2
unknown
Dependencies (17)
+ 9 more
Changelog
Compare changes
|
|
0.40.1
unknown
2 CVEs
CVE-2026-82254
GHSA-x494-mj8g-cj27
May 05, 2026
gix-pack has multiple DoS vectors: unchecked indexing panics and uncapped OOM allocations from crafted pack data
High
Network
Low
None
None
SummaryMultiple denial-of-service vectors in DetailsBug 1: Unchecked array indexing in delta application (CWE-248) The
Lines 83-84 use
A second location in Note: PR #2059 (merged 2025-06-25) fixed the explicit Bug 2: Uncapped allocation from attacker-controlled size headers (CWE-770) Pack entry headers and delta headers encode object sizes as LEB128-encoded u64 values. These sizes are used to allocate buffers before validating the actual data, with no upper bound:
A 10-byte crafted pack entry can claim The allocation at PoCCompiled and executed in Rust 1.94.1
For the OOM vector: the allocation path is ImpactAny application built on gitoxide that clones or fetches from an untrusted remote can be crashed by a malicious server:
This affects the Suggested fixFor panics: replace unchecked For OOM: add a configurable maximum object size (similar to git's SeverityHigh. Network vector, no privileges required, user interaction required (clone/fetch). The OOM vector is a single-packet process kill with no recovery. Fixed in
0.69.0
References Updated Sep 10, 2026 · Source: OSV.dev
CVE-2025-31130
GHSA-2frx-2596-x5r6
RUSTSEC-2025-0021
Apr 04, 2025
gitoxide does not detect SHA-1 collision attacks
6.8
/ 10
Medium
Network
High
None
None
Changed
None
High
None
Summarygitoxide uses SHA-1 hash implementations without any collision detection, leaving it vulnerable to hash collision attacks. Detailsgitoxide uses the The SHA-1 function is considered cryptographically insecure. However, in the wake of the SHAttered attacks, this issue was mitigated in Git 2.13.0 in 2017 by using the sha1collisiondetection algorithm by default and producing an error when known SHA-1 collisions are detected. Git is in the process of migrating to using SHA-256 for object hashes, but this has not been rolled out widely yet and gitoxide does not support SHA-256 object hashes. PoCThe following program demonstrates the problem, using the two SHAttered PDFs:
The output is as follows:
The latter behaviour matches Git. Since the SHAttered PDFs are not in a valid format for Git objects, a direct proof‐of‐concept using higher‐level APIs cannot be immediately demonstrated without significant computational resources. ImpactAn attacker with the ability to mount a collision attack on SHA-1 like the SHAttered or SHA-1 is a Shambles attacks could create two distinct Git objects with the same hash. This is becoming increasingly affordable for well‐resourced attackers, with the Shambles researchers in 2020 estimating $45k for a chosen‐prefix collision or $11k for a classical collision, and projecting less than $10k for a chosen‐prefix collision by 2025. The result could be used to disguise malicious repository contents, or potentially exploit assumptions in the logic of programs using gitoxide to cause further vulnerabilities. This vulnerability affects any user of gitoxide, including Fixed in
0.58.0
References
Updated Sep 10, 2026 · Source: OSV.dev |
0.40.1
unknown
Dependencies (17)
+ 9 more
Changelog
Compare changes
|
|
0.40.0
unknown
2 CVEs
CVE-2026-82254
GHSA-x494-mj8g-cj27
May 05, 2026
gix-pack has multiple DoS vectors: unchecked indexing panics and uncapped OOM allocations from crafted pack data
High
Network
Low
None
None
SummaryMultiple denial-of-service vectors in DetailsBug 1: Unchecked array indexing in delta application (CWE-248) The
Lines 83-84 use
A second location in Note: PR #2059 (merged 2025-06-25) fixed the explicit Bug 2: Uncapped allocation from attacker-controlled size headers (CWE-770) Pack entry headers and delta headers encode object sizes as LEB128-encoded u64 values. These sizes are used to allocate buffers before validating the actual data, with no upper bound:
A 10-byte crafted pack entry can claim The allocation at PoCCompiled and executed in Rust 1.94.1
For the OOM vector: the allocation path is ImpactAny application built on gitoxide that clones or fetches from an untrusted remote can be crashed by a malicious server:
This affects the Suggested fixFor panics: replace unchecked For OOM: add a configurable maximum object size (similar to git's SeverityHigh. Network vector, no privileges required, user interaction required (clone/fetch). The OOM vector is a single-packet process kill with no recovery. Fixed in
0.69.0
References Updated Sep 10, 2026 · Source: OSV.dev
CVE-2025-31130
GHSA-2frx-2596-x5r6
RUSTSEC-2025-0021
Apr 04, 2025
gitoxide does not detect SHA-1 collision attacks
6.8
/ 10
Medium
Network
High
None
None
Changed
None
High
None
Summarygitoxide uses SHA-1 hash implementations without any collision detection, leaving it vulnerable to hash collision attacks. Detailsgitoxide uses the The SHA-1 function is considered cryptographically insecure. However, in the wake of the SHAttered attacks, this issue was mitigated in Git 2.13.0 in 2017 by using the sha1collisiondetection algorithm by default and producing an error when known SHA-1 collisions are detected. Git is in the process of migrating to using SHA-256 for object hashes, but this has not been rolled out widely yet and gitoxide does not support SHA-256 object hashes. PoCThe following program demonstrates the problem, using the two SHAttered PDFs:
The output is as follows:
The latter behaviour matches Git. Since the SHAttered PDFs are not in a valid format for Git objects, a direct proof‐of‐concept using higher‐level APIs cannot be immediately demonstrated without significant computational resources. ImpactAn attacker with the ability to mount a collision attack on SHA-1 like the SHAttered or SHA-1 is a Shambles attacks could create two distinct Git objects with the same hash. This is becoming increasingly affordable for well‐resourced attackers, with the Shambles researchers in 2020 estimating $45k for a chosen‐prefix collision or $11k for a classical collision, and projecting less than $10k for a chosen‐prefix collision by 2025. The result could be used to disguise malicious repository contents, or potentially exploit assumptions in the logic of programs using gitoxide to cause further vulnerabilities. This vulnerability affects any user of gitoxide, including Fixed in
0.58.0
References
Updated Sep 10, 2026 · Source: OSV.dev |
0.40.0
unknown
Dependencies (17)
+ 9 more
Changelog
Compare changes
|
|
0.39.1
unknown
2 CVEs
CVE-2026-82254
GHSA-x494-mj8g-cj27
May 05, 2026
gix-pack has multiple DoS vectors: unchecked indexing panics and uncapped OOM allocations from crafted pack data
High
Network
Low
None
None
SummaryMultiple denial-of-service vectors in DetailsBug 1: Unchecked array indexing in delta application (CWE-248) The
Lines 83-84 use
A second location in Note: PR #2059 (merged 2025-06-25) fixed the explicit Bug 2: Uncapped allocation from attacker-controlled size headers (CWE-770) Pack entry headers and delta headers encode object sizes as LEB128-encoded u64 values. These sizes are used to allocate buffers before validating the actual data, with no upper bound:
A 10-byte crafted pack entry can claim The allocation at PoCCompiled and executed in Rust 1.94.1
For the OOM vector: the allocation path is ImpactAny application built on gitoxide that clones or fetches from an untrusted remote can be crashed by a malicious server:
This affects the Suggested fixFor panics: replace unchecked For OOM: add a configurable maximum object size (similar to git's SeverityHigh. Network vector, no privileges required, user interaction required (clone/fetch). The OOM vector is a single-packet process kill with no recovery. Fixed in
0.69.0
References Updated Sep 10, 2026 · Source: OSV.dev
CVE-2025-31130
GHSA-2frx-2596-x5r6
RUSTSEC-2025-0021
Apr 04, 2025
gitoxide does not detect SHA-1 collision attacks
6.8
/ 10
Medium
Network
High
None
None
Changed
None
High
None
Summarygitoxide uses SHA-1 hash implementations without any collision detection, leaving it vulnerable to hash collision attacks. Detailsgitoxide uses the The SHA-1 function is considered cryptographically insecure. However, in the wake of the SHAttered attacks, this issue was mitigated in Git 2.13.0 in 2017 by using the sha1collisiondetection algorithm by default and producing an error when known SHA-1 collisions are detected. Git is in the process of migrating to using SHA-256 for object hashes, but this has not been rolled out widely yet and gitoxide does not support SHA-256 object hashes. PoCThe following program demonstrates the problem, using the two SHAttered PDFs:
The output is as follows:
The latter behaviour matches Git. Since the SHAttered PDFs are not in a valid format for Git objects, a direct proof‐of‐concept using higher‐level APIs cannot be immediately demonstrated without significant computational resources. ImpactAn attacker with the ability to mount a collision attack on SHA-1 like the SHAttered or SHA-1 is a Shambles attacks could create two distinct Git objects with the same hash. This is becoming increasingly affordable for well‐resourced attackers, with the Shambles researchers in 2020 estimating $45k for a chosen‐prefix collision or $11k for a classical collision, and projecting less than $10k for a chosen‐prefix collision by 2025. The result could be used to disguise malicious repository contents, or potentially exploit assumptions in the logic of programs using gitoxide to cause further vulnerabilities. This vulnerability affects any user of gitoxide, including Fixed in
0.58.0
References
Updated Sep 10, 2026 · Source: OSV.dev |
0.39.1
unknown
Dependencies (17)
+ 9 more
Changelog
Compare changes
|
|
0.39.0
unknown
2 CVEs
CVE-2026-82254
GHSA-x494-mj8g-cj27
May 05, 2026
gix-pack has multiple DoS vectors: unchecked indexing panics and uncapped OOM allocations from crafted pack data
High
Network
Low
None
None
SummaryMultiple denial-of-service vectors in DetailsBug 1: Unchecked array indexing in delta application (CWE-248) The
Lines 83-84 use
A second location in Note: PR #2059 (merged 2025-06-25) fixed the explicit Bug 2: Uncapped allocation from attacker-controlled size headers (CWE-770) Pack entry headers and delta headers encode object sizes as LEB128-encoded u64 values. These sizes are used to allocate buffers before validating the actual data, with no upper bound:
A 10-byte crafted pack entry can claim The allocation at PoCCompiled and executed in Rust 1.94.1
For the OOM vector: the allocation path is ImpactAny application built on gitoxide that clones or fetches from an untrusted remote can be crashed by a malicious server:
This affects the Suggested fixFor panics: replace unchecked For OOM: add a configurable maximum object size (similar to git's SeverityHigh. Network vector, no privileges required, user interaction required (clone/fetch). The OOM vector is a single-packet process kill with no recovery. Fixed in
0.69.0
References Updated Sep 10, 2026 · Source: OSV.dev
CVE-2025-31130
GHSA-2frx-2596-x5r6
RUSTSEC-2025-0021
Apr 04, 2025
gitoxide does not detect SHA-1 collision attacks
6.8
/ 10
Medium
Network
High
None
None
Changed
None
High
None
Summarygitoxide uses SHA-1 hash implementations without any collision detection, leaving it vulnerable to hash collision attacks. Detailsgitoxide uses the The SHA-1 function is considered cryptographically insecure. However, in the wake of the SHAttered attacks, this issue was mitigated in Git 2.13.0 in 2017 by using the sha1collisiondetection algorithm by default and producing an error when known SHA-1 collisions are detected. Git is in the process of migrating to using SHA-256 for object hashes, but this has not been rolled out widely yet and gitoxide does not support SHA-256 object hashes. PoCThe following program demonstrates the problem, using the two SHAttered PDFs:
The output is as follows:
The latter behaviour matches Git. Since the SHAttered PDFs are not in a valid format for Git objects, a direct proof‐of‐concept using higher‐level APIs cannot be immediately demonstrated without significant computational resources. ImpactAn attacker with the ability to mount a collision attack on SHA-1 like the SHAttered or SHA-1 is a Shambles attacks could create two distinct Git objects with the same hash. This is becoming increasingly affordable for well‐resourced attackers, with the Shambles researchers in 2020 estimating $45k for a chosen‐prefix collision or $11k for a classical collision, and projecting less than $10k for a chosen‐prefix collision by 2025. The result could be used to disguise malicious repository contents, or potentially exploit assumptions in the logic of programs using gitoxide to cause further vulnerabilities. This vulnerability affects any user of gitoxide, including Fixed in
0.58.0
References
Updated Sep 10, 2026 · Source: OSV.dev |
0.39.0
unknown
Dependencies (17)
+ 9 more
Changelog
Compare changes
|
|
0.38.0
unknown
2 CVEs
CVE-2026-82254
GHSA-x494-mj8g-cj27
May 05, 2026
gix-pack has multiple DoS vectors: unchecked indexing panics and uncapped OOM allocations from crafted pack data
High
Network
Low
None
None
SummaryMultiple denial-of-service vectors in DetailsBug 1: Unchecked array indexing in delta application (CWE-248) The
Lines 83-84 use
A second location in Note: PR #2059 (merged 2025-06-25) fixed the explicit Bug 2: Uncapped allocation from attacker-controlled size headers (CWE-770) Pack entry headers and delta headers encode object sizes as LEB128-encoded u64 values. These sizes are used to allocate buffers before validating the actual data, with no upper bound:
A 10-byte crafted pack entry can claim The allocation at PoCCompiled and executed in Rust 1.94.1
For the OOM vector: the allocation path is ImpactAny application built on gitoxide that clones or fetches from an untrusted remote can be crashed by a malicious server:
This affects the Suggested fixFor panics: replace unchecked For OOM: add a configurable maximum object size (similar to git's SeverityHigh. Network vector, no privileges required, user interaction required (clone/fetch). The OOM vector is a single-packet process kill with no recovery. Fixed in
0.69.0
References Updated Sep 10, 2026 · Source: OSV.dev
CVE-2025-31130
GHSA-2frx-2596-x5r6
RUSTSEC-2025-0021
Apr 04, 2025
gitoxide does not detect SHA-1 collision attacks
6.8
/ 10
Medium
Network
High
None
None
Changed
None
High
None
Summarygitoxide uses SHA-1 hash implementations without any collision detection, leaving it vulnerable to hash collision attacks. Detailsgitoxide uses the The SHA-1 function is considered cryptographically insecure. However, in the wake of the SHAttered attacks, this issue was mitigated in Git 2.13.0 in 2017 by using the sha1collisiondetection algorithm by default and producing an error when known SHA-1 collisions are detected. Git is in the process of migrating to using SHA-256 for object hashes, but this has not been rolled out widely yet and gitoxide does not support SHA-256 object hashes. PoCThe following program demonstrates the problem, using the two SHAttered PDFs:
The output is as follows:
The latter behaviour matches Git. Since the SHAttered PDFs are not in a valid format for Git objects, a direct proof‐of‐concept using higher‐level APIs cannot be immediately demonstrated without significant computational resources. ImpactAn attacker with the ability to mount a collision attack on SHA-1 like the SHAttered or SHA-1 is a Shambles attacks could create two distinct Git objects with the same hash. This is becoming increasingly affordable for well‐resourced attackers, with the Shambles researchers in 2020 estimating $45k for a chosen‐prefix collision or $11k for a classical collision, and projecting less than $10k for a chosen‐prefix collision by 2025. The result could be used to disguise malicious repository contents, or potentially exploit assumptions in the logic of programs using gitoxide to cause further vulnerabilities. This vulnerability affects any user of gitoxide, including Fixed in
0.58.0
References
Updated Sep 10, 2026 · Source: OSV.dev |
0.38.0
unknown
Dependencies (17)
+ 9 more
Changelog
Compare changes
|
|
0.37.0
unknown
2 CVEs
CVE-2026-82254
GHSA-x494-mj8g-cj27
May 05, 2026
gix-pack has multiple DoS vectors: unchecked indexing panics and uncapped OOM allocations from crafted pack data
High
Network
Low
None
None
SummaryMultiple denial-of-service vectors in DetailsBug 1: Unchecked array indexing in delta application (CWE-248) The
Lines 83-84 use
A second location in Note: PR #2059 (merged 2025-06-25) fixed the explicit Bug 2: Uncapped allocation from attacker-controlled size headers (CWE-770) Pack entry headers and delta headers encode object sizes as LEB128-encoded u64 values. These sizes are used to allocate buffers before validating the actual data, with no upper bound:
A 10-byte crafted pack entry can claim The allocation at PoCCompiled and executed in Rust 1.94.1
For the OOM vector: the allocation path is ImpactAny application built on gitoxide that clones or fetches from an untrusted remote can be crashed by a malicious server:
This affects the Suggested fixFor panics: replace unchecked For OOM: add a configurable maximum object size (similar to git's SeverityHigh. Network vector, no privileges required, user interaction required (clone/fetch). The OOM vector is a single-packet process kill with no recovery. Fixed in
0.69.0
References Updated Sep 10, 2026 · Source: OSV.dev
CVE-2025-31130
GHSA-2frx-2596-x5r6
RUSTSEC-2025-0021
Apr 04, 2025
gitoxide does not detect SHA-1 collision attacks
6.8
/ 10
Medium
Network
High
None
None
Changed
None
High
None
Summarygitoxide uses SHA-1 hash implementations without any collision detection, leaving it vulnerable to hash collision attacks. Detailsgitoxide uses the The SHA-1 function is considered cryptographically insecure. However, in the wake of the SHAttered attacks, this issue was mitigated in Git 2.13.0 in 2017 by using the sha1collisiondetection algorithm by default and producing an error when known SHA-1 collisions are detected. Git is in the process of migrating to using SHA-256 for object hashes, but this has not been rolled out widely yet and gitoxide does not support SHA-256 object hashes. PoCThe following program demonstrates the problem, using the two SHAttered PDFs:
The output is as follows:
The latter behaviour matches Git. Since the SHAttered PDFs are not in a valid format for Git objects, a direct proof‐of‐concept using higher‐level APIs cannot be immediately demonstrated without significant computational resources. ImpactAn attacker with the ability to mount a collision attack on SHA-1 like the SHAttered or SHA-1 is a Shambles attacks could create two distinct Git objects with the same hash. This is becoming increasingly affordable for well‐resourced attackers, with the Shambles researchers in 2020 estimating $45k for a chosen‐prefix collision or $11k for a classical collision, and projecting less than $10k for a chosen‐prefix collision by 2025. The result could be used to disguise malicious repository contents, or potentially exploit assumptions in the logic of programs using gitoxide to cause further vulnerabilities. This vulnerability affects any user of gitoxide, including Fixed in
0.58.0
References
Updated Sep 10, 2026 · Source: OSV.dev |
0.37.0
unknown
Dependencies (17)
+ 9 more
Changelog
Compare changes
|
|
0.36.0
unknown
2 CVEs
CVE-2026-82254
GHSA-x494-mj8g-cj27
May 05, 2026
gix-pack has multiple DoS vectors: unchecked indexing panics and uncapped OOM allocations from crafted pack data
High
Network
Low
None
None
SummaryMultiple denial-of-service vectors in DetailsBug 1: Unchecked array indexing in delta application (CWE-248) The
Lines 83-84 use
A second location in Note: PR #2059 (merged 2025-06-25) fixed the explicit Bug 2: Uncapped allocation from attacker-controlled size headers (CWE-770) Pack entry headers and delta headers encode object sizes as LEB128-encoded u64 values. These sizes are used to allocate buffers before validating the actual data, with no upper bound:
A 10-byte crafted pack entry can claim The allocation at PoCCompiled and executed in Rust 1.94.1
For the OOM vector: the allocation path is ImpactAny application built on gitoxide that clones or fetches from an untrusted remote can be crashed by a malicious server:
This affects the Suggested fixFor panics: replace unchecked For OOM: add a configurable maximum object size (similar to git's SeverityHigh. Network vector, no privileges required, user interaction required (clone/fetch). The OOM vector is a single-packet process kill with no recovery. Fixed in
0.69.0
References Updated Sep 10, 2026 · Source: OSV.dev
CVE-2025-31130
GHSA-2frx-2596-x5r6
RUSTSEC-2025-0021
Apr 04, 2025
gitoxide does not detect SHA-1 collision attacks
6.8
/ 10
Medium
Network
High
None
None
Changed
None
High
None
Summarygitoxide uses SHA-1 hash implementations without any collision detection, leaving it vulnerable to hash collision attacks. Detailsgitoxide uses the The SHA-1 function is considered cryptographically insecure. However, in the wake of the SHAttered attacks, this issue was mitigated in Git 2.13.0 in 2017 by using the sha1collisiondetection algorithm by default and producing an error when known SHA-1 collisions are detected. Git is in the process of migrating to using SHA-256 for object hashes, but this has not been rolled out widely yet and gitoxide does not support SHA-256 object hashes. PoCThe following program demonstrates the problem, using the two SHAttered PDFs:
The output is as follows:
The latter behaviour matches Git. Since the SHAttered PDFs are not in a valid format for Git objects, a direct proof‐of‐concept using higher‐level APIs cannot be immediately demonstrated without significant computational resources. ImpactAn attacker with the ability to mount a collision attack on SHA-1 like the SHAttered or SHA-1 is a Shambles attacks could create two distinct Git objects with the same hash. This is becoming increasingly affordable for well‐resourced attackers, with the Shambles researchers in 2020 estimating $45k for a chosen‐prefix collision or $11k for a classical collision, and projecting less than $10k for a chosen‐prefix collision by 2025. The result could be used to disguise malicious repository contents, or potentially exploit assumptions in the logic of programs using gitoxide to cause further vulnerabilities. This vulnerability affects any user of gitoxide, including Fixed in
0.58.0
References
Updated Sep 10, 2026 · Source: OSV.dev |
0.36.0
unknown
Dependencies (17)
+ 9 more
Changelog
Compare changes
|
|
0.35.0
unknown
2 CVEs
CVE-2026-82254
GHSA-x494-mj8g-cj27
May 05, 2026
gix-pack has multiple DoS vectors: unchecked indexing panics and uncapped OOM allocations from crafted pack data
High
Network
Low
None
None
SummaryMultiple denial-of-service vectors in DetailsBug 1: Unchecked array indexing in delta application (CWE-248) The
Lines 83-84 use
A second location in Note: PR #2059 (merged 2025-06-25) fixed the explicit Bug 2: Uncapped allocation from attacker-controlled size headers (CWE-770) Pack entry headers and delta headers encode object sizes as LEB128-encoded u64 values. These sizes are used to allocate buffers before validating the actual data, with no upper bound:
A 10-byte crafted pack entry can claim The allocation at PoCCompiled and executed in Rust 1.94.1
For the OOM vector: the allocation path is ImpactAny application built on gitoxide that clones or fetches from an untrusted remote can be crashed by a malicious server:
This affects the Suggested fixFor panics: replace unchecked For OOM: add a configurable maximum object size (similar to git's SeverityHigh. Network vector, no privileges required, user interaction required (clone/fetch). The OOM vector is a single-packet process kill with no recovery. Fixed in
0.69.0
References Updated Sep 10, 2026 · Source: OSV.dev
CVE-2025-31130
GHSA-2frx-2596-x5r6
RUSTSEC-2025-0021
Apr 04, 2025
gitoxide does not detect SHA-1 collision attacks
6.8
/ 10
Medium
Network
High
None
None
Changed
None
High
None
Summarygitoxide uses SHA-1 hash implementations without any collision detection, leaving it vulnerable to hash collision attacks. Detailsgitoxide uses the The SHA-1 function is considered cryptographically insecure. However, in the wake of the SHAttered attacks, this issue was mitigated in Git 2.13.0 in 2017 by using the sha1collisiondetection algorithm by default and producing an error when known SHA-1 collisions are detected. Git is in the process of migrating to using SHA-256 for object hashes, but this has not been rolled out widely yet and gitoxide does not support SHA-256 object hashes. PoCThe following program demonstrates the problem, using the two SHAttered PDFs:
The output is as follows:
The latter behaviour matches Git. Since the SHAttered PDFs are not in a valid format for Git objects, a direct proof‐of‐concept using higher‐level APIs cannot be immediately demonstrated without significant computational resources. ImpactAn attacker with the ability to mount a collision attack on SHA-1 like the SHAttered or SHA-1 is a Shambles attacks could create two distinct Git objects with the same hash. This is becoming increasingly affordable for well‐resourced attackers, with the Shambles researchers in 2020 estimating $45k for a chosen‐prefix collision or $11k for a classical collision, and projecting less than $10k for a chosen‐prefix collision by 2025. The result could be used to disguise malicious repository contents, or potentially exploit assumptions in the logic of programs using gitoxide to cause further vulnerabilities. This vulnerability affects any user of gitoxide, including Fixed in
0.58.0
References
Updated Sep 10, 2026 · Source: OSV.dev |
0.35.0
unknown
Dependencies (17)
+ 9 more
Changelog
Compare changes
|