Description
libgit2 is a portable C implementation of the Git core methods provided as a linkable library with a solid API, allowing to build Git functionality into your application. Prior to 1.8.6 and 1.9.5, verify_server_cert in src/libgit2/streams/openssl.c uses an inverted !!memcmp result in the GEN_IPADD branch when comparing an IP-literal host with a certificate IP SubjectAltName. OpenSSL builds reject matching IP addresses and accept mismatched IP addresses, allowing a network attacker with a CA-trusted certificate containing any IP SubjectAltName to intercept libgit2 connections to IP-literal HTTPS URLs. DNS SubjectAltName validation and non-OpenSSL TLS backends are not affected. This issue is fixed in versions 1.8.6 and 1.9.5.
References7
- github.com/libgit2/libgit2/commit/647dcb432980b84ede4cb5a008bbd…
- github.com/libgit2/libgit2/commit/c2aa35409ee0e6515df64da49750f…
- github.com/libgit2/libgit2/commit/ef086bc3e4eedf62be38a910381aa…
- github.com/libgit2/libgit2/releases/tag/v1.8.6
- github.com/libgit2/libgit2/releases/tag/v1.9.5
- github.com/libgit2/libgit2/security/advisories/GHSA-h7gc-w2gg-p…
- github.com/libgit2/libgit2/security/advisories/GHSA-h7gc-w2gg-p…
Metrics
- CVSS 3.1
-
6.5
MEDIUM
Score source: CNA
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:N - EPSS — exploit probability
- 0% percentile: 15 · as of 10 November 2026
- CWE
- CWE-295CWE-297
Could this be exploited in your environment?
A patch closes the known hole. A penetration test shows what an attacker can still reach — with proof.