GitHub Advisoryadvisory · crates.io
GHSA-22q8-ghmq-63vf libgit2-sys affected by memory corruption, denial of service, and arbitrary code execution in libgit2
HIGH
Official page ↗
- Ecosystem
- crates.io
- Packages
- libgit2-sys
- Severity
- High
- CVSS vector
- CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:L/A:L
- Reviewed
- 2024-02-12
Affected packages
• crates.io libgit2-sys: < 0.16.2 → fixed in 0.16.2
Description
The libgit2 project fixed three security issues in the 1.7.2 release. These issues are:
• The `git_revparse_single` function can potentially enter an infinite loop on a well-crafted input, potentially causing a Denial of Service. This function is exposed in the `git2` crate via the `Repository::revparse_single` method.
• The `git_index_add` function may cause heap corruption and possibly lead to arbitrary code execution. This function is exposed in the `git2` crate via the `Index::add` method.
• The smart transport negotiation may experience an out-of-bounds read when a remote server did not advertise capabilities.
The `libgit2-sys` crate bundles libgit2, or optionally links to a system libgit2 library. In either case, versions of the libgit2 library less than 1.7.2 are vulnerable. The 0.16.2 release of `libgit2-sys` bundles the fixed version of 1.7.2, and requires a system libgit2 version of at least 1.7.2.
It is recommended that all users upgrade.