CVE-2026-5917CWE-78command-injection

CVE-2026-5917

High · published August 12, 2026

CVSS v3.1
8.8
EPSS
1%
Percentile
72.8
In the wild
Unconfirmed
What it is

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.

The record
Technical detail
CVSS v3.1
8.8 · HIGH
Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H
CVSS v4.0
Not supplied
EPSS
0.01427 · 72.8th percentile
Weakness
CWE-78 · Improper Neutralization of Special Elements used in an OS Command ('OS Command Injection')
Published
2026-08-12T02:17Z
References (2)
EPSS history
Timeline
  • 11 AUG 21:40Z
    libgit2 v0.27.0-v1.9.0 Shell Command Injection via ssh_libssh2 Backend
    cvelistv5