CVE-2026-5917
highpriority · track · 35EPSS 0.014 · 73 %ileEUEPSS · scored 2026-10-28
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.
cvss
Technical severity, 0–10. One row per scoring source.
base score 0–10 · higher = more severe · hover a vector to decode⚠ sources disagree · medium–critical · 6.1–9.4
ssvc
A stakeholder decision — act, attend, or track — from exploitation and impact.
weaknesses
The CWE weakness classes this flaw belongs to.
affected products (1)
Products and version ranges known to be affected.
also known as (3)
Other names and identifiers for this entity.
sources
Which sources assert this record, and when.
references (6)
External citations — patches, advisories, analysis.
- https://github.com/libgit2/libgit2cnnvd
- https://www.vulncheck.com/advisories/libgit2-shell-command-injection-via-ssh-libssh2-backendcnnvd
- https://github.com/libgit2/libgit2enisa_euvd
- https://www.vulncheck.com/advisories/libgit2-shell-command-injection-via-ssh-libssh2-backendenisa_euvd
- https://github.com/libgit2/libgit2/security/advisories/GHSA-xqj4-2j5v-rr75nvd
- https://www.vulncheck.com/advisories/libgit2-shell-command-injection-via-ssh-libssh2-backendnvd
Attackers weaponise vulnerabilities like this against internet-exposed services. See what is exposed on your perimeter with a free passive scan.
Free scan