CVE-2024-24577
libgit2: arbitrary code execution due to heap corruption in git_index_add
Severity by source
Trivy's own label is CRITICAL. Rated critical by NVD, CBL-Mariner, Julia. Rated lower by Red Hat (high), Amazon (high), Ubuntu (medium).
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. 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. This issue has been patched in version 1.6.5 and 1.7.2.
Affected packages and fixed versions
| Source | Package | Fixed in |
|---|---|---|
| CBL-Mariner 2.0 | libgit2 | 0:1.6.5-1.cm2 |
| julia::Julia Ecosystem Security Advisories | LibGit2_jll | 1.7.2+0 |
| alpine 3.19 | libgit2 | 1.7.2-r0 |
| alpine 3.20 | eza, libgit2 | 0.18.2-r0 and 1 more |
| alpine 3.21 | eza, libgit2 | 0.18.2-r0 and 1 more |
| alpine 3.22 | eza, libgit2 | 0.18.2-r0 and 1 more |
| alpine 3.23 | eza, libgit2 | 0.18.2-r0 and 1 more |
| alpine 3.24 | eza, libgit2 | 0.18.2-r0 and 1 more |
| alpine edge | eza, libgit2 | 0.18.2-r0 and 1 more |
| amazon linux 1 | cargo, clippy, rust and 9 more | 1.68.2-1.66.amzn1 |
| amazon linux 2 | cargo, clippy, rust and 10 more | 1.68.2-1.amzn2.0.6 |
| amazon linux 2023 | cargo, cargo-debuginfo, clippy and 21 more | 1.68.2-1.amzn2023.0.5 and 1 more |
Show all 95 entries from 27 sources
| Source | Package | Fixed in |
|---|---|---|
| CBL-Mariner 2.0 | libgit2 | 0:1.6.5-1.cm2 |
| julia::Julia Ecosystem Security Advisories | LibGit2_jll | 1.7.2+0 |
| alpine 3.19 | libgit2 | 1.7.2-r0 |
| alpine 3.20 | eza | 0.18.2-r0 |
| alpine 3.20 | libgit2 | 1.7.2-r0 |
| alpine 3.21 | eza | 0.18.2-r0 |
| alpine 3.21 | libgit2 | 1.7.2-r0 |
| alpine 3.22 | eza | 0.18.2-r0 |
| alpine 3.22 | libgit2 | 1.7.2-r0 |
| alpine 3.23 | eza | 0.18.2-r0 |
| alpine 3.23 | libgit2 | 1.7.2-r0 |
| alpine 3.24 | eza | 0.18.2-r0 |
| alpine 3.24 | libgit2 | 1.7.2-r0 |
| alpine edge | eza | 0.18.2-r0 |
| alpine edge | libgit2 | 1.7.2-r0 |
| amazon linux 1 | cargo | 1.68.2-1.66.amzn1 |
| amazon linux 1 | clippy | 1.68.2-1.66.amzn1 |
| amazon linux 1 | rust | 1.68.2-1.66.amzn1 |
| amazon linux 1 | rust-analysis | 1.68.2-1.66.amzn1 |
| amazon linux 1 | rust-analyzer | 1.68.2-1.66.amzn1 |
| amazon linux 1 | rust-debugger-common | 1.68.2-1.66.amzn1 |
| amazon linux 1 | rust-doc | 1.68.2-1.66.amzn1 |
| amazon linux 1 | rust-gdb | 1.68.2-1.66.amzn1 |
| amazon linux 1 | rust-lldb | 1.68.2-1.66.amzn1 |
| amazon linux 1 | rust-src | 1.68.2-1.66.amzn1 |
| amazon linux 1 | rust-std-static | 1.68.2-1.66.amzn1 |
| amazon linux 1 | rustfmt | 1.68.2-1.66.amzn1 |
| amazon linux 2 | cargo | 1.68.2-1.amzn2.0.6 |
| amazon linux 2 | clippy | 1.68.2-1.amzn2.0.6 |
| amazon linux 2 | rust | 1.68.2-1.amzn2.0.6 |
| amazon linux 2 | rust-analysis | 1.68.2-1.amzn2.0.6 |
| amazon linux 2 | rust-analyzer | 1.68.2-1.amzn2.0.6 |
| amazon linux 2 | rust-debugger-common | 1.68.2-1.amzn2.0.6 |
| amazon linux 2 | rust-debuginfo | 1.68.2-1.amzn2.0.6 |
| amazon linux 2 | rust-doc | 1.68.2-1.amzn2.0.6 |
| amazon linux 2 | rust-gdb | 1.68.2-1.amzn2.0.6 |
| amazon linux 2 | rust-src | 1.68.2-1.amzn2.0.6 |
| amazon linux 2 | rust-std-static | 1.68.2-1.amzn2.0.6 |
| amazon linux 2 | rust-toolset | 1.68.2-1.amzn2.0.6 |
| amazon linux 2 | rustfmt | 1.68.2-1.amzn2.0.6 |
| amazon linux 2023 | cargo | 1.68.2-1.amzn2023.0.5 |
| amazon linux 2023 | cargo-debuginfo | 1.68.2-1.amzn2023.0.5 |
| amazon linux 2023 | clippy | 1.68.2-1.amzn2023.0.5 |
| amazon linux 2023 | clippy-debuginfo | 1.68.2-1.amzn2023.0.5 |
| amazon linux 2023 | libgit2 | 1.6.4-115.amzn2023.0.2 |
| amazon linux 2023 | libgit2-debuginfo | 1.6.4-115.amzn2023.0.2 |
| amazon linux 2023 | libgit2-debugsource | 1.6.4-115.amzn2023.0.2 |
| amazon linux 2023 | libgit2-devel | 1.6.4-115.amzn2023.0.2 |
| amazon linux 2023 | rust | 1.68.2-1.amzn2023.0.5 |
| amazon linux 2023 | rust-analysis | 1.68.2-1.amzn2023.0.5 |
| amazon linux 2023 | rust-analyzer | 1.68.2-1.amzn2023.0.5 |
| amazon linux 2023 | rust-analyzer-debuginfo | 1.68.2-1.amzn2023.0.5 |
| amazon linux 2023 | rust-debugger-common | 1.68.2-1.amzn2023.0.5 |
| amazon linux 2023 | rust-debuginfo | 1.68.2-1.amzn2023.0.5 |
| amazon linux 2023 | rust-debugsource | 1.68.2-1.amzn2023.0.5 |
| amazon linux 2023 | rust-doc | 1.68.2-1.amzn2023.0.5 |
| amazon linux 2023 | rust-gdb | 1.68.2-1.amzn2023.0.5 |
| amazon linux 2023 | rust-lldb | 1.68.2-1.amzn2023.0.5 |
| amazon linux 2023 | rust-src | 1.68.2-1.amzn2023.0.5 |
| amazon linux 2023 | rust-std-static | 1.68.2-1.amzn2023.0.5 |
| amazon linux 2023 | rust-std-static-wasm32-unknown-unknown | 1.68.2-1.amzn2023.0.5 |
| amazon linux 2023 | rust-std-static-wasm32-wasi | 1.68.2-1.amzn2023.0.5 |
| amazon linux 2023 | rustfmt | 1.68.2-1.amzn2023.0.5 |
| amazon linux 2023 | rustfmt-debuginfo | 1.68.2-1.amzn2023.0.5 |
| chainguard | libgit2 | 1.7.2-r0 |
| chainguard | libgit2-1.5 | 1.7.2-r0 |
| debian 10 | libgit2 | 0.27.7+dfsg.1-0.2+deb10u2 |
| debian 11 | libgit2 | 1.1.0+dfsg.1-4+deb11u2 |
| debian 12 | libgit2 | 1.5.1+ds-1+deb12u1 |
| debian 13 | libgit2 | 1.7.2+ds-1 |
| debian 14 | libgit2 | 1.7.2+ds-1 |
| echo | libgit2 | 1.5.1+ds-1+deb12u1 |
| rapidfort amazon linux 2023 | cargo | 1.68.2-1.amzn2023.0.5 |
| rapidfort amazon linux 2023 | clippy | 1.68.2-1.amzn2023.0.5 |
| rapidfort amazon linux 2023 | libgit2 | 1.6.4-115.amzn2023.0.2 |
| rapidfort amazon linux 2023 | libgit2-devel | 1.6.4-115.amzn2023.0.2 |
| rapidfort amazon linux 2023 | rust | 1.68.2-1.amzn2023.0.5 |
| rapidfort amazon linux 2023 | rust-analysis | 1.68.2-1.amzn2023.0.5 |
| rapidfort amazon linux 2023 | rust-analyzer | 1.68.2-1.amzn2023.0.5 |
| rapidfort amazon linux 2023 | rust-debugger-common | 1.68.2-1.amzn2023.0.5 |
| rapidfort amazon linux 2023 | rust-doc | 1.68.2-1.amzn2023.0.5 |
| rapidfort amazon linux 2023 | rust-gdb | 1.68.2-1.amzn2023.0.5 |
| rapidfort amazon linux 2023 | rust-lldb | 1.68.2-1.amzn2023.0.5 |
| rapidfort amazon linux 2023 | rust-src | 1.68.2-1.amzn2023.0.5 |
| rapidfort amazon linux 2023 | rust-std-static | 1.68.2-1.amzn2023.0.5 |
| rapidfort amazon linux 2023 | rust-std-static-wasm32-unknown-unknown | 1.68.2-1.amzn2023.0.5 |
| rapidfort amazon linux 2023 | rust-std-static-wasm32-wasi | 1.68.2-1.amzn2023.0.5 |
| rapidfort amazon linux 2023 | rustfmt | 1.68.2-1.amzn2023.0.5 |
| ubuntu 16.04-ESM | libgit2 | 0.24.1-2ubuntu0.2+esm2 |
| ubuntu 18.04-ESM | libgit2 | 0.26.0+dfsg.1-1.1ubuntu0.2+esm1 |
| ubuntu 20.04 | libgit2 | 0.28.4+dfsg.1-2ubuntu0.1 |
| ubuntu 20.04-ESM | libgit2 | 0.28.4+dfsg.1-2ubuntu0.1 |
| ubuntu 22.04 | libgit2 | 1.1.0+dfsg.1-4.1ubuntu0.1 |
| ubuntu 23.10 | libgit2 | 1.5.1+ds-1ubuntu1.1 |
| wolfi | libgit2 | 1.7.2-r0 |
References
- https://access.redhat.com/security/cve/CVE-2024-24577
- 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.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/S635BGHHZUMRPI7QOXOJ45QHDD5FFZ3S/
All 13 references
- https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/Z6MXOX7I43OWNN7R6M54XLG6U5RXY244/
- https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/ZGNHOEE2RBLH7KCJUPUNYG4CDTW4HTBT/
- https://nvd.nist.gov/vuln/detail/CVE-2024-24577
- https://ubuntu.com/security/notices/USN-6678-1
- https://www.cve.org/CVERecord?id=CVE-2024-24577