{"id":"DEBIAN-CVE-2026-5917","details":"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.","modified":"2026-09-25T08:47:22.817385142Z","published":"2026-08-11T22:17:37.390Z","upstream":["CVE-2026-5917"],"references":[{"type":"ADVISORY","url":"https://security-tracker.debian.org/tracker/CVE-2026-5917"}],"affected":[{"package":{"name":"libgit2","ecosystem":"Debian:12","purl":"pkg:deb/debian/libgit2?arch=source&distro=bookworm"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["1.5.1+ds-1","1.5.1+ds-1+deb12u1","1.6.4+ds-1","1.7.1+ds-1","1.7.1+ds-2","1.7.2+ds-1","1.8.1+ds-1","1.8.1+ds-2","1.8.2~rc1+ds-1","1.8.2~rc1+ds-2","1.8.2~rc1+ds2-1","1.8.4+ds-1","1.8.4+ds-2","1.8.4+ds-3","1.8.4+ds-3~bpo12+1","1.8.4+ds-3~bpo12+1~bin","1.9.0+ds-1","1.9.0+ds-2","1.9.1+ds-1","1.9.2+ds-1","1.9.2+ds-2","1.9.2+ds-3","1.9.2+ds-4","1.9.2+ds-5","1.9.2+ds-6","1.9.2+ds-7","1.9.2+ds-8","1.9.2+ds-9","1.9.3+ds-1","1.9.4+ds-1","1.9.6+ds-1","1.9.7+ds-1"],"ecosystem_specific":{"urgency":"not yet assigned"},"database_specific":{"source":"https://storage.googleapis.com/osv-test-debian-osv/debian-cve-osv/DEBIAN-CVE-2026-5917.json"}},{"package":{"name":"libgit2","ecosystem":"Debian:13","purl":"pkg:deb/debian/libgit2?arch=source&distro=trixie"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.9.0+ds-2+deb13u1"}]}],"versions":["1.9.0+ds-2"],"ecosystem_specific":{"urgency":"not yet assigned"},"database_specific":{"source":"https://storage.googleapis.com/osv-test-debian-osv/debian-cve-osv/DEBIAN-CVE-2026-5917.json"}},{"package":{"name":"libgit2","ecosystem":"Debian:14","purl":"pkg:deb/debian/libgit2?arch=source&distro=forky"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.9.7+ds-1"}]}],"versions":["1.9.0+ds-2","1.9.1+ds-1","1.9.2+ds-1","1.9.2+ds-2","1.9.2+ds-3","1.9.2+ds-4","1.9.2+ds-5","1.9.2+ds-6","1.9.2+ds-7","1.9.2+ds-8","1.9.2+ds-9","1.9.3+ds-1","1.9.4+ds-1","1.9.6+ds-1"],"ecosystem_specific":{"urgency":"not yet assigned"},"database_specific":{"source":"https://storage.googleapis.com/osv-test-debian-osv/debian-cve-osv/DEBIAN-CVE-2026-5917.json"}}],"schema_version":"1.9.0","severity":[{"type":"CVSS_V3","score":"CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H"}]}