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.

Severity (CVSS 3.1)7.5High
Exploit odds (30 days)0.5%top 59.2% of all CVEs
Exploited in the wildNo reportsCISA SSVC: poc
Attack tooling1Public PoC

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

EcosystemPackageFixed inAdvisory
AlmaLinux:10cargo1.92.0-2.el10_2.alma.1ALSA-2026:67286
AlmaLinux:9cargo1.92.0-2.el9_8ALSA-2026:67285
AlmaLinux:10clippy1.92.0-2.el10_2.alma.1ALSA-2026:67286
AlmaLinux:9clippy1.92.0-2.el9_8ALSA-2026:67285
AlmaLinux:10rust1.92.0-2.el10_2.alma.1ALSA-2026:67286
AlmaLinux:9rust1.92.0-2.el9_8ALSA-2026:67285
AlmaLinux:10rust-analyzer1.92.0-2.el10_2.alma.1ALSA-2026:67286
AlmaLinux:9rust-analyzer1.92.0-2.el9_8ALSA-2026:67285
AlmaLinux:10rust-debugger-common1.92.0-2.el10_2.alma.1ALSA-2026:67286
AlmaLinux:9rust-debugger-common1.92.0-2.el9_8ALSA-2026:67285
AlmaLinux:10rust-doc1.92.0-2.el10_2.alma.1ALSA-2026:67286
AlmaLinux:9rust-doc1.92.0-2.el9_8ALSA-2026:67285
AlmaLinux:10rust-gdb1.92.0-2.el10_2.alma.1ALSA-2026:67286
AlmaLinux:9rust-gdb1.92.0-2.el9_8ALSA-2026:67285
AlmaLinux:10rust-lldb1.92.0-2.el10_2.alma.1ALSA-2026:67286
AlmaLinux:9rust-lldb1.92.0-2.el9_8ALSA-2026:67285
AlmaLinux:10rust-src1.92.0-2.el10_2.alma.1ALSA-2026:67286
AlmaLinux:9rust-src1.92.0-2.el9_8ALSA-2026:67285
AlmaLinux:10rust-std-static1.92.0-2.el10_2.alma.1ALSA-2026:67286
AlmaLinux:9rust-std-static1.92.0-2.el9_8ALSA-2026:67285
AlmaLinux:10rust-std-static-aarch64-unknown-none-softfloat1.92.0-2.el10_2.alma.1ALSA-2026:67286
AlmaLinux:10rust-std-static-wasm32-unknown-unknown1.92.0-2.el10_2.alma.1ALSA-2026:67286
AlmaLinux:9rust-std-static-wasm32-unknown-unknown1.92.0-2.el9_8ALSA-2026:67285
AlmaLinux:10rust-std-static-wasm32-wasip11.92.0-2.el10_2.alma.1ALSA-2026:67286
AlmaLinux:9rust-std-static-wasm32-wasip11.92.0-2.el9_8ALSA-2026:67285
AlmaLinux:10rust-std-static-x86_64-unknown-none1.92.0-2.el10_2.alma.1ALSA-2026:67286
AlmaLinux:10rust-toolset1.92.0-2.el10_2.alma.1ALSA-2026:67286
AlmaLinux:9rust-toolset1.92.0-2.el9_8ALSA-2026:67285
AlmaLinux:10rust-toolset-srpm-macros1.92.0-2.el10_2.alma.1ALSA-2026:67286
AlmaLinux:10rustfmt1.92.0-2.el10_2.alma.1ALSA-2026:67286
AlmaLinux:9rustfmt1.92.0-2.el9_8ALSA-2026:67285
Alpine:v3.23libgit21.9.6-r0ALPINE-CVE-2026-53587
Alpine:v3.24libgit21.9.6-r0ALPINE-CVE-2026-53587
Debian:13libgit21.9.0+ds-2+deb13u1DEBIAN-CVE-2026-53587
Debian:14libgit21.9.6+ds-1DEBIAN-CVE-2026-53587
Rocky Linux:10rust0:1.92.0-2.el10_2RLSA-2026:67286
Rocky Linux:9rust0:1.92.0-2.el9_8RLSA-2026:67285
Ubuntu:24.04:LTSlibgit21.7.2+ds-1ubuntu3.1UBUNTU-CVE-2026-53587
Ubuntu:26.04:LTSlibgit21.9.1+ds-1ubuntu1.1UBUNTU-CVE-2026-53587

Affected products (as reported)

VendorProductVersions
libgit2 libgit2 < 1.8.6>= 1.9.0, < 1.9.5

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