CVE-2024-24575: libgit2 is vulnerable to a denial of service attack in `git_revparse_single`
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. Using well-crafted inputs to gitrevparsesingle can cause the function to enter an infinite loop, potentially causing a Denial of Service attack in the calling application. The revparse function in src/libgit2/revparse.c uses a loop to parse the user-provided spec string. There is an edge-case during parsing that allows a bad actor to force the loop conditions to access arbitrary memory. Potentially, this could also leak memory if the extracted rev spec is reflected back to the attacker. As such, libgit2 versions before 1.4.0 are not affected. Users should upgrade to version 1.6.5 or 1.7.2.
Affected Software
Remediation
Event History
Frequently Asked Questions
What is the severity of CVE-2024-24575?
CVE-2024-24575 has a moderate severity rating due to the potential for denial of service caused by an infinite loop.
How do I fix CVE-2024-24575?
To remediate CVE-2024-24575, upgrade to libgit2 versions 1.6.5 or higher.
What does CVE-2024-24575 affect?
CVE-2024-24575 affects libgit2 versions prior to 1.6.5 and between 1.4.0 to 1.7.2.
Can CVE-2024-24575 be exploited remotely?
CVE-2024-24575 can potentially be exploited if an attacker supplies crafted inputs to the git_revparse_single function.
Is CVE-2024-24575 present in Debian packages?
Yes, CVE-2024-24575 is present in certain Debian libgit2 packages including versions prior to 1.6.5.