CVE-2026-5917

High

Description

libgit2 versions before 1.8.7 and 1.9.0 before 1.9.7 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.

SeverityHigh
CVSS8.8
Exploit probability—
ProductLibgit2
PublishedAug 11, 2026
First seenAug 11, 2026

How to fix

Update
  • libgit2 libgit21.8.7, 1.9.7 or later

Affected products

ProductAffected versionsFixed in
libgit2 libgit2v < 1.8.7, 1.9.0 ≤ v < 1.9.71.8.7, 1.9.7

Check your version

Choose the product and enter the version you run to see whether it falls in the affected range.

In the Intelligence 360 plan

Attack Surface Management

See the assets tied to your domains, the technologies they run and known vulnerabilities in one list.