Vulnerability · Published Aug 20, 2026 · Assigned by GitHub_M
CVE-2026-53587libgit2 - Unauthenticated network-reachable heap out-of-bounds read in transports/smart_pkt.c:set_data
High 7.5
In plain English
A high-severity improper input validation in libgit2 from libgit2. Proof-of-concept exploit code is public. The chance it is exploited in the next 30 days is estimated at 0.5% (higher than 41% of all known vulnerabilities). Ready-made attack tooling exists: public proof-of-concept code. Fixed versions are available - upgrade the affected package.
Official 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, libgit2 performs a fixed-size strncmp in set_data in src/libgit2/transports/smart_pkt.c without first verifying that the smart-protocol pkt-line capability buffer contains 14 bytes. A malicious Git server can make bytes after the pkt-line complete object-format=, causing format_str to advance beyond the pkt-line and the following memchr length calculation to underflow. The resulting heap out-of-bounds walk can crash a client during the first refs-advertisement packet over HTTP, HTTPS, SSH, or the Git protocol. This issue is fixed in versions 1.8.6 and 1.9.5.
Affected packages & fixed versions
| Ecosystem | Package | Fixed in | Advisory |
|---|---|---|---|
| AlmaLinux:10 | cargo | 1.92.0-2.el10_2.alma.1 | ALSA-2026:67286 |
| AlmaLinux:9 | cargo | 1.92.0-2.el9_8 | ALSA-2026:67285 |
| AlmaLinux:10 | clippy | 1.92.0-2.el10_2.alma.1 | ALSA-2026:67286 |
| AlmaLinux:9 | clippy | 1.92.0-2.el9_8 | ALSA-2026:67285 |
| AlmaLinux:10 | rust | 1.92.0-2.el10_2.alma.1 | ALSA-2026:67286 |
| AlmaLinux:9 | rust | 1.92.0-2.el9_8 | ALSA-2026:67285 |
| AlmaLinux:10 | rust-analyzer | 1.92.0-2.el10_2.alma.1 | ALSA-2026:67286 |
| AlmaLinux:9 | rust-analyzer | 1.92.0-2.el9_8 | ALSA-2026:67285 |
| AlmaLinux:10 | rust-debugger-common | 1.92.0-2.el10_2.alma.1 | ALSA-2026:67286 |
| AlmaLinux:9 | rust-debugger-common | 1.92.0-2.el9_8 | ALSA-2026:67285 |
| AlmaLinux:10 | rust-doc | 1.92.0-2.el10_2.alma.1 | ALSA-2026:67286 |
| AlmaLinux:9 | rust-doc | 1.92.0-2.el9_8 | ALSA-2026:67285 |
| AlmaLinux:10 | rust-gdb | 1.92.0-2.el10_2.alma.1 | ALSA-2026:67286 |
| AlmaLinux:9 | rust-gdb | 1.92.0-2.el9_8 | ALSA-2026:67285 |
| AlmaLinux:10 | rust-lldb | 1.92.0-2.el10_2.alma.1 | ALSA-2026:67286 |
| AlmaLinux:9 | rust-lldb | 1.92.0-2.el9_8 | ALSA-2026:67285 |
| AlmaLinux:10 | rust-src | 1.92.0-2.el10_2.alma.1 | ALSA-2026:67286 |
| AlmaLinux:9 | rust-src | 1.92.0-2.el9_8 | ALSA-2026:67285 |
| AlmaLinux:10 | rust-std-static | 1.92.0-2.el10_2.alma.1 | ALSA-2026:67286 |
| AlmaLinux:9 | rust-std-static | 1.92.0-2.el9_8 | ALSA-2026:67285 |
| AlmaLinux:10 | rust-std-static-aarch64-unknown-none-softfloat | 1.92.0-2.el10_2.alma.1 | ALSA-2026:67286 |
| AlmaLinux:10 | rust-std-static-wasm32-unknown-unknown | 1.92.0-2.el10_2.alma.1 | ALSA-2026:67286 |
| AlmaLinux:9 | rust-std-static-wasm32-unknown-unknown | 1.92.0-2.el9_8 | ALSA-2026:67285 |
| AlmaLinux:10 | rust-std-static-wasm32-wasip1 | 1.92.0-2.el10_2.alma.1 | ALSA-2026:67286 |
| AlmaLinux:9 | rust-std-static-wasm32-wasip1 | 1.92.0-2.el9_8 | ALSA-2026:67285 |
| AlmaLinux:10 | rust-std-static-x86_64-unknown-none | 1.92.0-2.el10_2.alma.1 | ALSA-2026:67286 |
| AlmaLinux:10 | rust-toolset | 1.92.0-2.el10_2.alma.1 | ALSA-2026:67286 |
| AlmaLinux:9 | rust-toolset | 1.92.0-2.el9_8 | ALSA-2026:67285 |
| AlmaLinux:10 | rust-toolset-srpm-macros | 1.92.0-2.el10_2.alma.1 | ALSA-2026:67286 |
| AlmaLinux:10 | rustfmt | 1.92.0-2.el10_2.alma.1 | ALSA-2026:67286 |
| AlmaLinux:9 | rustfmt | 1.92.0-2.el9_8 | ALSA-2026:67285 |
| Alpine:v3.23 | libgit2 | 1.9.6-r0 | ALPINE-CVE-2026-53587 |
| Alpine:v3.24 | libgit2 | 1.9.6-r0 | ALPINE-CVE-2026-53587 |
| Debian:13 | libgit2 | 1.9.0+ds-2+deb13u1 | DEBIAN-CVE-2026-53587 |
| Debian:14 | libgit2 | 1.9.6+ds-1 | DEBIAN-CVE-2026-53587 |
| Rocky Linux:10 | rust | 0:1.92.0-2.el10_2 | RLSA-2026:67286 |
| Rocky Linux:9 | rust | 0:1.92.0-2.el9_8 | RLSA-2026:67285 |
| Ubuntu:24.04:LTS | libgit2 | 1.7.2+ds-1ubuntu3.1 | UBUNTU-CVE-2026-53587 |
| Ubuntu:26.04:LTS | libgit2 | 1.9.1+ds-1ubuntu1.1 | UBUNTU-CVE-2026-53587 |
Affected products (as reported)
Weakness: CWE-20, CWE-125, CWE-126, CWE-1284 · Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
References
- https://github.com/libgit2/libgit2/security/advisories/GHSA-pm24-4jhq-3xvm x_refsource_CONFIRM
- https://github.com/libgit2/libgit2/commit/2c0ce8c0132ac38ab0db28239462a671e2e5440e x_refsource_MISC
- https://github.com/libgit2/libgit2/commit/affda60c10fcef16723451c0d7dc71b71dc20ad3 x_refsource_MISC
- https://github.com/libgit2/libgit2/commit/d7a9fb87f504434e9f45228678953c4fa56e7640 x_refsource_MISC
- https://github.com/libgit2/libgit2/releases/tag/v1.8.6 x_refsource_MISC
- https://github.com/libgit2/libgit2/releases/tag/v1.9.5 x_refsource_MISC