Skip to main content
← All vulnerabilities
CVE-2023-22742RUSTSEC-2023-0003GHSA-8643-3WH5-RMJQGHSA-M4CH-RFV5-X5G3

libgit2 fails to verify SSH keys by default

Published
Last modified
published
Not listed in CISA KEV
Fix
Fixed in 1.4.5, 0.13.5, 0.14.2, 0.16.1
None on Exploit-DB, Metasploit or GitHub
  • Exploitation: none
  • Automatable: no
  • Technical impact: partial

Summary

libgit2 is a cross-platform, linkable library implementation of Git. When using an SSH remote with the optional libssh2 backend, libgit2 does not perform certificate checking by default. Prior versions of libgit2 require the caller to set the `certificate_check` field of libgit2's `git_remote_callbacks` structure - if a certificate check callback is not set, libgit2 does not perform any certificate checking. This means that by default - without configuring a certificate check callback, clients will not perform validation on the server SSH keys and may be subject to a man-in-the-middle attack. Users are encouraged to upgrade to v1.4.5 or v1.5.1. Users unable to upgrade should ensure that all relevant certificates are manually checked.

Timeline

  1. CVE published
  2. CISA SSVC assessment

    Exploitation: none · Automatable: no · Technical impact: partial

  3. Record last updated

Affected versions

  • libgit2 libgit2

    fixed in 1.4.5

  • libgit2-syscrates.io

    From 0.0.0-0 · fixed in 0.13.5; From 0.14.0 · fixed in 0.14.2

  • libgit2-syscrates.io

    From 0.14.0 · fixed in 0.14.2

  • libgit2-syscrates.io

    fixed in 0.13.5

  • git2crates.io

    fixed in 0.16.1

References 7

GitHub · libgit2/libgit2

libssh2.org

openwall.com