CVE-2026-5917

NameCVE-2026-5917
Descriptionlibgit2 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.
SourceCVE (at NVD; CERT, ENISA, LWN, oss-sec, fulldisc, Debian ELTS, Red Hat, Ubuntu, Gentoo, SUSE bugzilla/CVE, GitHub advisories/code/issues, web search, more)
ReferencesDSA-6453-1
Debian Bugs1144465

Vulnerable and fixed packages

The table below lists information on source packages.

Source PackageReleaseVersionStatus
libgit2 (PTS)bullseye (security), bullseye1.1.0+dfsg.1-4+deb11u2vulnerable
bookworm, bookworm (security)1.5.1+ds-1+deb12u1vulnerable
trixie1.9.0+ds-2vulnerable
trixie (security)1.9.0+ds-2+deb13u1fixed
forky, sid1.9.7+ds-1fixed

The information below is based on the following data on fixed versions.

PackageTypeReleaseFixed VersionUrgencyOriginDebian Bugs
libgit2sourcetrixie1.9.0+ds-2+deb13u1DSA-6453-1
libgit2source(unstable)1.9.7+ds-11144465

Notes

Fixed by: https://github.com/libgit2/libgit2/commit/b2105b8e60798cb28086d4c648b1cb4854eadccb (v1.9.7)

Search for package or bug name: Reporting problems