CVE-2023-22742 — Vulnerability in libgit2-sys — CVE Details
MEDIUM
git2-rs fails to verify SSH keys by default
Published January 20, 2023Updated November 8, 2023Source: osv
Summary
The git2 and libgit2-sys crates are Rust wrappers around the [libgit2](https://libgit2.org/) C library. It was discovered that libgit2 1.5.0 and below did not verify SSH host keys when establishing an SSH connection, exposing users of the library to Man-In-the-Middle attacks.
The libgit2 team assigned [CVE-2023-22742](https://github.com/libgit2/libgit2/security/advisories/GHSA-8643-3wh5-rmjq) to this vulnerability. The following versions of the libgit2-sys Rust crate have been released:
* libgit2-sys 0.14.2, updating the underlying libgit2 C library to version 1.5.1.
* libgit2-sys 0.13.5, updating the underlying libgit2 C library to version 1.4.5.
A new git2 crate version has also been released, 0.16.1. This version only bumps its libgit2-sys dependency to ensure no vulnerable libgit2-sys versions are used, but contains no code changes: if you update the libgit2-sys version there is no need to also update the git2 crate version.
[You can learn more about this vulnerability in libgit2's advisory](https://github.com/libgit2/libgit2/security/advisories/GHSA-8643-3wh5-rmjq)
Advisory Timeline
- First published January 20, 2023 (1360 days ago).
- Last revised November 8, 2023 — 291 days after initial publication.
Remediation
Upgrade to the fixed version using your package manager.
Cargo
Update libgit2-sys to 0.13.5 or latercargo update -p libgit2-sys --precise 0.13.5
Cargo
Update libgit2-sys to 0.14.2 or latercargo update -p libgit2-sys --precise 0.14.2
Cargo
Update git2 to 0.16.1 or latercargo update -p git2 --precise 0.16.1
After upgrading, run your dependency scanner again to confirm the vulnerability is resolved.
Affected Packages (3)
Affects 1 ecosystem: crates.io (2).
| Package | Ecosystem | Affected | Fixed In |
|---|---|---|---|
| libgit2-sys | crates.io | All versions | 0.13.5 |
| libgit2-sys | crates.io | All versions | 0.14.2 |
| git2 | crates.io | All versions | 0.16.1 |
CVSS Score Breakdown
What the CVSS (Common Vulnerability Scoring System) 6.8 score means for each attack dimension.
Attack Vector
Network
Attack Complexity
High
Privileges Required
None
User Interaction
Required
Scope
Unchanged
Confidentiality
High
Integrity
High
Availability
None
CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:H/I:H/A:N
References
- https://github.com/libgit2/libgit2/security/advisories/GHSA-8643-3wh5-rmjqWEB
- https://github.com/rust-lang/git2-rs/security/advisories/GHSA-m4ch-rfv5-x5g3WEB
- https://nvd.nist.gov/vuln/detail/CVE-2023-22742ADVISORY
- https://github.com/rust-lang/git2-rs/commit/87934f87d36753ed702792ec063be7246444a8e1WEB
- https://github.com/rust-lang/git2-rsPACKAGE
- https://rustsec.org/advisories/RUSTSEC-2023-0003.htmlWEB
Frequently Asked Questions
- What is CVE-2023-22742?
- git2-rs fails to verify SSH keys by default This vulnerability has been assigned a severity rating of MEDIUM (CVSS score: 6.8/10).
- How do I check if my project is affected by CVE-2023-22742?
- CVE-2023-22742 affects libgit2-sys and git2. Use GeekWala's free vulnerability scanner to check your dependencies against CVE-2023-22742 and 200,000+ other known vulnerabilities.
Severity & Exploitability
CVSS Score
6.8
Exploitation requires specific conditions or has limited impact. Remediate within weeks.
Also Known As
GHSA-m4ch-rfv5-x5g3
GHSA-8643-3wh5-rmjq
RUSTSEC-2023-0003
Related CVEs
- CVE-2026-102821MEDIUM
Russh: Unbounded memory exhaustion via CHANNEL_OPEN flood during a client-stalled rekey
- CVE-2026-102820MEDIUM
pageant: Out-of-bounds read / oversized allocation in `pageant` MemoryMap::read via a malicious Pageant agent (Windows)
Check if you're affected
Scan your dependencies to see if this vulnerability affects your projects.
Scan Your Dependencies