Debian Package Tracker
Register | Log in
Subscribe

libgit2

Choose email to subscribe with

general
  • source: libgit2 (main)
  • version: 1.9.7+ds-1
  • maintainer: Utkarsh Gupta (DMD)
  • uploaders: Pirate Praveen [DMD] – Mohammed Bilal [DMD] – Timo Röhling [DMD]
  • arch: all any
  • std-ver: 4.7.4
  • VCS: Git (Browse, QA)
versions [more versions can be listed by madison] [old versions available from snapshot.debian.org]
[pool directory]
  • o-o-stable: 1.1.0+dfsg.1-4+deb11u2
  • o-o-sec: 1.1.0+dfsg.1-4+deb11u2
  • oldstable: 1.5.1+ds-1+deb12u1
  • old-sec: 1.5.1+ds-1+deb12u1
  • old-bpo: 1.8.4+ds-3~bpo12+1
  • stable: 1.9.0+ds-2
  • stable-sec: 1.9.0+ds-2+deb13u1
  • testing: 1.9.7+ds-1
  • unstable: 1.9.7+ds-1
versioned links
  • 1.1.0+dfsg.1-4+deb11u2: [.dsc, use dget on this link to retrieve source package] [changelog] [copyright] [rules] [control]
  • 1.5.1+ds-1+deb12u1: [.dsc, use dget on this link to retrieve source package] [changelog] [copyright] [rules] [control]
  • 1.8.4+ds-3~bpo12+1: [.dsc, use dget on this link to retrieve source package] [changelog] [copyright] [rules] [control]
  • 1.9.0+ds-2: [.dsc, use dget on this link to retrieve source package] [changelog] [copyright] [rules] [control]
  • 1.9.0+ds-2+deb13u1: [.dsc, use dget on this link to retrieve source package] [changelog] [copyright] [rules] [control]
  • 1.9.7+ds-1: [.dsc, use dget on this link to retrieve source package] [changelog] [copyright] [rules] [control]
binaries
  • libgit2-1.9
  • libgit2-dev
  • libgit2-experimental-dev
  • libgit2-experimental1.9
  • libgit2-fixtures
action needed
6 security issues in bullseye high

There are 6 open security issues in bullseye.

6 important issues:
  • CVE-2026-5917: libgit2 versions v0.27.0 through v1.9.0 built with the libssh2 SSH backend (USE_SSH=libssh2) contain a shell command injection vulnerability that allows remote attackers to execute arbitrary commands on an SSH server by supplying a repository path containing unescaped shell metacharacters such as single quotes, semicolons, or pipes. The gen_proto() function in ssh_libssh2.c inserts the repository path directly into a shell command string without escaping special characters before passing it to libssh2_channel_exec(), enabling an attacker to craft a malicious submodule URL in a .gitmodules file that, when processed during a recursive clone, causes the remote server's shell to interpret injected commands under the victim's SSH user account.
  • CVE-2026-53583: 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, verify_server_cert in src/libgit2/streams/openssl.c uses an inverted !!memcmp result in the GEN_IPADD branch when comparing an IP-literal host with a certificate IP SubjectAltName. OpenSSL builds reject matching IP addresses and accept mismatched IP addresses, allowing a network attacker with a CA-trusted certificate containing any IP SubjectAltName to intercept libgit2 connections to IP-literal HTTPS URLs. DNS SubjectAltName validation and non-OpenSSL TLS backends are not affected. This issue is fixed in versions 1.8.6 and 1.9.5.
  • CVE-2026-53584: 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 does not reject traversal components in a submodule path loaded from .gitmodules. The affected src/libgit2/submodule.c paths include git_submodule_lookup and git_submodule_add_setup. A crafted repository can specify a path such as ../escape-target, and applications that initialize the submodule can create directories outside the repository working tree. This issue is fixed in versions 1.8.6 and 1.9.5.
  • CVE-2026-53585: 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, git_delta_apply in src/libgit2/delta.c trusts the attacker-controlled res_sz value parsed by hdr_sz from a delta object header and passes that amount to git__malloc before validating delta instructions. Malicious pack data supplied through git_clone, git_fetch, git_remote_fetch, git_indexer_append, or a local attacker-supplied repository can use a very small multi-level OFS_DELTA chain to retain extremely large allocations and exhaust memory. This issue is fixed in versions 1.8.6 and 1.9.5.
  • CVE-2026-53586: 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, the built-in HTTP transport in src/libgit2/transports/http.c follows an offsite initial redirect, and handle_remote_auth and handle_auth pass transport->owner->url instead of transport->server.url to the credential callback when the redirected host returns 401 Unauthorized. A callback that scopes credentials to the original trusted URL can therefore return GIT_CREDENTIAL_USERPASS_PLAINTEXT credentials that libgit2 stores in transport->server.cred and sends as an Authorization header to the redirected host. An attacker who controls a trusted Git host or an open redirect on that host can disclose HTTP Basic credentials, personal access tokens, or equivalent credentials. This issue is fixed in versions 1.8.6 and 1.9.5.
  • CVE-2026-53587: 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.
Created: 2026-07-30 Last update: 2026-08-22 01:00
6 security issues in bookworm high

There are 6 open security issues in bookworm.

6 important issues:
  • CVE-2026-5917: libgit2 versions v0.27.0 through v1.9.0 built with the libssh2 SSH backend (USE_SSH=libssh2) contain a shell command injection vulnerability that allows remote attackers to execute arbitrary commands on an SSH server by supplying a repository path containing unescaped shell metacharacters such as single quotes, semicolons, or pipes. The gen_proto() function in ssh_libssh2.c inserts the repository path directly into a shell command string without escaping special characters before passing it to libssh2_channel_exec(), enabling an attacker to craft a malicious submodule URL in a .gitmodules file that, when processed during a recursive clone, causes the remote server's shell to interpret injected commands under the victim's SSH user account.
  • CVE-2026-53583: 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, verify_server_cert in src/libgit2/streams/openssl.c uses an inverted !!memcmp result in the GEN_IPADD branch when comparing an IP-literal host with a certificate IP SubjectAltName. OpenSSL builds reject matching IP addresses and accept mismatched IP addresses, allowing a network attacker with a CA-trusted certificate containing any IP SubjectAltName to intercept libgit2 connections to IP-literal HTTPS URLs. DNS SubjectAltName validation and non-OpenSSL TLS backends are not affected. This issue is fixed in versions 1.8.6 and 1.9.5.
  • CVE-2026-53584: 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 does not reject traversal components in a submodule path loaded from .gitmodules. The affected src/libgit2/submodule.c paths include git_submodule_lookup and git_submodule_add_setup. A crafted repository can specify a path such as ../escape-target, and applications that initialize the submodule can create directories outside the repository working tree. This issue is fixed in versions 1.8.6 and 1.9.5.
  • CVE-2026-53585: 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, git_delta_apply in src/libgit2/delta.c trusts the attacker-controlled res_sz value parsed by hdr_sz from a delta object header and passes that amount to git__malloc before validating delta instructions. Malicious pack data supplied through git_clone, git_fetch, git_remote_fetch, git_indexer_append, or a local attacker-supplied repository can use a very small multi-level OFS_DELTA chain to retain extremely large allocations and exhaust memory. This issue is fixed in versions 1.8.6 and 1.9.5.
  • CVE-2026-53586: 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, the built-in HTTP transport in src/libgit2/transports/http.c follows an offsite initial redirect, and handle_remote_auth and handle_auth pass transport->owner->url instead of transport->server.url to the credential callback when the redirected host returns 401 Unauthorized. A callback that scopes credentials to the original trusted URL can therefore return GIT_CREDENTIAL_USERPASS_PLAINTEXT credentials that libgit2 stores in transport->server.cred and sends as an Authorization header to the redirected host. An attacker who controls a trusted Git host or an open redirect on that host can disclose HTTP Basic credentials, personal access tokens, or equivalent credentials. This issue is fixed in versions 1.8.6 and 1.9.5.
  • CVE-2026-53587: 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.
Created: 2026-07-30 Last update: 2026-08-22 01:00
testing migrations
  • This package will soon be part of the auto-openssl transition. You might want to ensure that your package is ready for it. You can probably find supplementary information in the debian-release archives or in the corresponding release.debian.org bug.
news
[rss feed]
  • [2026-08-22] libgit2 1.9.7+ds-1 MIGRATED to testing (Debian testing watch)
  • [2026-08-20] Accepted libgit2 1.9.0+ds-2+deb13u1 (source) into stable-security (Debian FTP Masters) (signed by: Timo Röhling)
  • [2026-08-16] Accepted libgit2 1.9.7+ds-1 (source) into unstable (Timo Röhling)
  • [2026-07-28] libgit2 1.9.6+ds-1 MIGRATED to testing (Debian testing watch)
  • [2026-07-22] Accepted libgit2 1.9.6+ds-1 (source) into unstable (Timo Röhling)
  • [2026-06-08] libgit2 1.9.4+ds-1 MIGRATED to testing (Debian testing watch)
  • [2026-05-31] Accepted libgit2 1.9.4+ds-1 (source) into unstable (Timo Röhling)
  • [2026-05-31] libgit2 1.9.3+ds-1 MIGRATED to testing (Debian testing watch)
  • [2026-05-06] Accepted libgit2 1.9.3+ds-1 (source) into unstable (Timo Röhling)
  • [2026-05-02] libgit2 1.9.2+ds-9 MIGRATED to testing (Debian testing watch)
  • [2026-04-27] Accepted libgit2 1.9.2+ds-9 (source) into unstable (Timo Röhling)
  • [2026-04-24] Accepted libgit2 1.9.2+ds-8 (source) into unstable (Timo Röhling)
  • [2026-04-24] Accepted libgit2 1.9.2+ds-7 (source) into unstable (Timo Röhling)
  • [2026-02-20] libgit2 1.9.2+ds-6 MIGRATED to testing (Debian testing watch)
  • [2026-02-12] Accepted libgit2 1.9.2+ds-6 (source) into unstable (Timo Röhling)
  • [2026-01-27] libgit2 1.9.2+ds-5 MIGRATED to testing (Debian testing watch)
  • [2026-01-22] Accepted libgit2 1.9.2+ds-5 (source) into unstable (Timo Röhling)
  • [2026-01-21] Accepted libgit2 1.9.2+ds-4 (source) into unstable (Timo Röhling)
  • [2026-01-08] Accepted libgit2 1.9.2+ds-3 (all amd64 source) into experimental (Debian FTP Masters) (signed by: Timo Röhling)
  • [2026-01-02] libgit2 1.9.2+ds-2 MIGRATED to testing (Debian testing watch)
  • [2025-12-30] Accepted libgit2 1.9.2+ds-2 (source) into unstable (Timo Röhling)
  • [2025-12-30] Accepted libgit2 1.9.2+ds-1 (all amd64 source) into unstable (Timo Röhling)
  • [2025-08-17] libgit2 1.9.1+ds-1 MIGRATED to testing (Debian testing watch)
  • [2025-08-13] Accepted libgit2 1.9.1+ds-1 (source) into unstable (Timo Röhling)
  • [2025-04-08] libgit2 1.9.0+ds-2 MIGRATED to testing (Debian testing watch)
  • [2025-04-03] Accepted libgit2 1.9.0+ds-2 (source) into unstable (Timo Röhling)
  • [2025-01-20] Accepted libgit2 1.8.4+ds-3~bpo12+1 (source) into stable-backports (Michael Tokarev)
  • [2025-01-20] Accepted libgit2 1.8.4+ds-3~bpo12+1~bin (source amd64 all) into stable-backports (Debian FTP Masters) (signed by: Michael Tokarev)
  • [2025-01-13] Accepted libgit2 1.9.0+ds-1 (all amd64 source) into experimental (Debian FTP Masters) (signed by: Timo Röhling)
  • [2024-11-30] libgit2 1.8.4+ds-3 MIGRATED to testing (Debian testing watch)
  • 1
  • 2
bugs [bug history graph]
  • all: 2
  • RC: 0
  • I&N: 2
  • M&W: 0
  • F&P: 0
  • patch: 0
links
  • homepage
  • lintian
  • buildd: logs, reproducibility, cross
  • popcon
  • browse source code
  • other distros
  • security tracker
  • debian patches
  • debci
ubuntu Ubuntu logo [Information about Ubuntu for Debian Developers]
  • version: 1.9.6+ds-1ubuntu1
  • patches for 1.9.6+ds-1ubuntu1

Debian Package Tracker — Copyright 2013-2025 The Distro Tracker Developers
Report problems to the tracker.debian.org pseudo-package in the Debian BTS.
Documentation — Bugs — Git Repository — Contributing