CVE-2024-24577 – libgit2 is vulnerable to arbitrary code execution due to heap corruption in `git_index_add`
https://notcve.org/view.php?id=CVE-2024-24577
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 `git_index_add` can cause heap corruption that could be leveraged for arbitrary code execution. There is an issue in the `has_dir_name` function in `src/libgit2/index.c`, which frees an entry that should not be freed. The freed entry is later used and overwritten with potentially bad actor-controlled data leading to controlled heap corruption. Depending on the application that uses libgit2, this could lead to arbitrary code execution. • https://github.com/libgit2/libgit2/releases/tag/v1.6.5 https://github.com/libgit2/libgit2/releases/tag/v1.7.2 https://github.com/libgit2/libgit2/security/advisories/GHSA-j2v7-4f6v-gpg8 https://lists.debian.org/debian-lts-announce/2024/02/msg00012.html https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/4M3P7WIEPXNRLBINQRJFXUSTNKBCHYC7 https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/7CNDW3PF6NHO7OXNM5GN6WSSGAMA7MZE https://lists. • CWE-119: Improper Restriction of Operations within the Bounds of a Memory Buffer CWE-122: Heap-based Buffer Overflow •
CVE-2024-24575 – libgit2 is vulnerable to a denial of service attack in `git_revparse_single`
https://notcve.org/view.php?id=CVE-2024-24575
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 `git_revparse_single` 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. • https://github.com/libgit2/libgit2/commit/add2dabb3c16aa49b33904dcdc07cd915efc12fa https://github.com/libgit2/libgit2/releases/tag/v1.6.5 https://github.com/libgit2/libgit2/releases/tag/v1.7.2 https://github.com/libgit2/libgit2/security/advisories/GHSA-54mf-x2rh-hq9v https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/4M3P7WIEPXNRLBINQRJFXUSTNKBCHYC7 https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/7CNDW3PF6NHO7OXNM5GN6WSSGAMA7MZE https://lists. • CWE-400: Uncontrolled Resource Consumption •
CVE-2023-22742 – libgit2 fails to verify SSH keys by default
https://notcve.org/view.php?id=CVE-2023-22742
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. • http://www.openwall.com/lists/oss-security/2023/11/06/5 https://github.com/libgit2/libgit2/commit/42e5db98b963ae503229c63e44e06e439df50e56 https://github.com/libgit2/libgit2/commit/cd6f679af401eda1f172402006ef8265f8bd58ea https://github.com/libgit2/libgit2/releases/tag/v1.4.5 https://github.com/libgit2/libgit2/releases/tag/v1.5.1 https://github.com/libgit2/libgit2/security/advisories/GHSA-8643-3wh5-rmjq https://www.libssh2.org • CWE-347: Improper Verification of Cryptographic Signature •
CVE-2020-12278
https://notcve.org/view.php?id=CVE-2020-12278
An issue was discovered in libgit2 before 0.28.4 and 0.9x before 0.99.0. path.c mishandles equivalent filenames that exist because of NTFS Alternate Data Streams. This may allow remote code execution when cloning a repository. This issue is similar to CVE-2019-1352. Se descubrió un problema en libgit2 versiones anteriores a 0.28.4 y versiones 0.9x anteriores a 0.99.0. El archivo path.c maneja inapropiadamente los nombres de archivo equivalentes que existen debido al Flujo de Datos Alternativo de NTFS. • https://github.com/git/git/security/advisories/GHSA-5wph-8frv-58vj https://github.com/libgit2/libgit2/commit/3f7851eadca36a99627ad78cbe56a40d3776ed01 https://github.com/libgit2/libgit2/commit/e1832eb20a7089f6383cfce474f213157f5300cb https://github.com/libgit2/libgit2/releases/tag/v0.28.4 https://github.com/libgit2/libgit2/releases/tag/v0.99.0 https://lists.debian.org/debian-lts-announce/2022/03/msg00031.html https://lists.debian.org/debian-lts-announce/2023/02/msg00034.html • CWE-706: Use of Incorrectly-Resolved Name or Reference •
CVE-2020-12279
https://notcve.org/view.php?id=CVE-2020-12279
An issue was discovered in libgit2 before 0.28.4 and 0.9x before 0.99.0. checkout.c mishandles equivalent filenames that exist because of NTFS short names. This may allow remote code execution when cloning a repository. This issue is similar to CVE-2019-1353. Se descubrió un problema en libgit2 versiones anteriores a 0.28.4 y versiones 0.9x anteriores a 0.99.0. El archivo checkout.c maneja inapropiadamente los nombres de archivo equivalentes que existen debido a los nombres cortos de NTFS. • https://github.com/git/git/security/advisories/GHSA-589j-mmg9-733v https://github.com/libgit2/libgit2/commit/64c612cc3e25eff5fb02c59ef5a66ba7a14751e4 https://github.com/libgit2/libgit2/releases/tag/v0.28.4 https://github.com/libgit2/libgit2/releases/tag/v0.99.0 https://lists.debian.org/debian-lts-announce/2022/03/msg00031.html https://lists.debian.org/debian-lts-announce/2023/02/msg00034.html • CWE-706: Use of Incorrectly-Resolved Name or Reference •