Skip to content

libgit2-sys affected by memory corruption, denial of service, and arbitrary code execution in libgit2

High severity GitHub Reviewed Published Feb 12, 2024 to the GitHub Advisory Database • Updated Feb 12, 2024

Package

cargo libgit2-sys (Rust)

Affected versions

< 0.16.2

Patched versions

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.

References

Published to the GitHub Advisory Database Feb 12, 2024
Reviewed Feb 12, 2024
Last updated Feb 12, 2024

Severity

High
8.6
/ 10

CVSS base metrics

Attack vector
Network
Attack complexity
Low
Privileges required
None
User interaction
None
Scope
Unchanged
Confidentiality
High
Integrity
Low
Availability
Low
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:L/A:L

Weaknesses

No CWEs

CVE ID

No known CVE

GHSA ID

GHSA-22q8-ghmq-63vf

Source code

Loading Checking history
See something to contribute? Suggest improvements for this vulnerability.