{"id":"UBUNTU-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-22T03:28:05.181217578Z","published":"2026-08-11T22:17:00Z","upstream":["CVE-2026-5917"],"references":[{"type":"REPORT","url":"https://ubuntu.com/security/CVE-2026-5917"},{"type":"REPORT","url":"https://www.cve.org/CVERecord?id=CVE-2026-5917"},{"type":"REPORT","url":"https://github.com/libgit2/libgit2"},{"type":"REPORT","url":"https://www.vulncheck.com/advisories/libgit2-shell-command-injection-via-ssh-libssh2-backend"}],"affected":[{"package":{"name":"libgit2","ecosystem":"Ubuntu:Pro:16.04:LTS","purl":"pkg:deb/ubuntu/libgit2?arch=source&distro=esm-apps-legacy%2Fxenial"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["0.22.2-2","0.23.1-1","0.24.1-2","0.24.1-2ubuntu0.2","0.24.1-2ubuntu0.2+esm1","0.24.1-2ubuntu0.2+esm2","0.24.1-2ubuntu0.2+esm3"],"ecosystem_specific":{"binaries":[{"binary_name":"libgit2-24","binary_version":"0.24.1-2ubuntu0.2+esm3"}]},"database_specific":{"source":"https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2026/UBUNTU-CVE-2026-5917.json"}},{"package":{"name":"libgit2","ecosystem":"Ubuntu:Pro:18.04:LTS","purl":"pkg:deb/ubuntu/libgit2?arch=source&distro=esm-apps%2Fbionic"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["0.25.1+really0.24.6-1","0.26.0+dfsg.1-1.1","0.26.0+dfsg.1-1.1build1","0.26.0+dfsg.1-1.1ubuntu0.2","0.26.0+dfsg.1-1.1ubuntu0.2+esm1","0.26.0+dfsg.1-1.1ubuntu0.2+esm2"],"ecosystem_specific":{"binaries":[{"binary_version":"0.26.0+dfsg.1-1.1ubuntu0.2+esm2","binary_name":"libgit2-26"}]},"database_specific":{"source":"https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2026/UBUNTU-CVE-2026-5917.json"}},{"package":{"name":"libgit2","ecosystem":"Ubuntu:Pro:20.04:LTS","purl":"pkg:deb/ubuntu/libgit2?arch=source&distro=esm-apps%2Ffocal"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["0.27.7+dfsg.1-0.2build1","0.28.3+dfsg.1-1","0.28.3+dfsg.1-1ubuntu1","0.28.4+dfsg.1-2","0.28.4+dfsg.1-2ubuntu0.1","0.28.4+dfsg.1-2ubuntu0.1+esm1"],"ecosystem_specific":{"binaries":[{"binary_name":"libgit2-28","binary_version":"0.28.4+dfsg.1-2ubuntu0.1+esm1"}]},"database_specific":{"source":"https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2026/UBUNTU-CVE-2026-5917.json"}},{"package":{"name":"libgit2","ecosystem":"Ubuntu:Pro:22.04:LTS","purl":"pkg:deb/ubuntu/libgit2?arch=source&distro=esm-apps%2Fjammy"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["1.1.0+dfsg.1-4","1.1.0+dfsg.1-4.1","1.1.0+dfsg.1-4.1build1","1.1.0+dfsg.1-4.1ubuntu0.1","1.1.0+dfsg.1-4.1ubuntu0.1+esm1"],"ecosystem_specific":{"binaries":[{"binary_name":"libgit2-1.1","binary_version":"1.1.0+dfsg.1-4.1ubuntu0.1+esm1"},{"binary_name":"libgit2-fixtures","binary_version":"1.1.0+dfsg.1-4.1ubuntu0.1+esm1"}]},"database_specific":{"source":"https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2026/UBUNTU-CVE-2026-5917.json"}},{"package":{"name":"libgit2","ecosystem":"Ubuntu:24.04:LTS","purl":"pkg:deb/ubuntu/libgit2?arch=source&distro=noble"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["1.5.1+ds-1ubuntu1","1.7.1+ds-2ubuntu1","1.7.2+ds-1ubuntu1","1.7.2+ds-1ubuntu2","1.7.2+ds-1ubuntu3","1.7.2+ds-1ubuntu3.1"],"ecosystem_specific":{"binaries":[{"binary_version":"1.7.2+ds-1ubuntu3.1","binary_name":"libgit2-1.7"},{"binary_name":"libgit2-fixtures","binary_version":"1.7.2+ds-1ubuntu3.1"}]},"database_specific":{"source":"https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2026/UBUNTU-CVE-2026-5917.json"}},{"package":{"name":"libgit2","ecosystem":"Ubuntu:26.04:LTS","purl":"pkg:deb/ubuntu/libgit2?arch=source&distro=resolute"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["1.9.0+ds-2ubuntu2","1.9.1+ds-1ubuntu1","1.9.1+ds-1ubuntu1.1"],"ecosystem_specific":{"binaries":[{"binary_name":"libgit2-1.9","binary_version":"1.9.1+ds-1ubuntu1.1"},{"binary_name":"libgit2-fixtures","binary_version":"1.9.1+ds-1ubuntu1.1"}]},"database_specific":{"source":"https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2026/UBUNTU-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"},{"type":"CVSS_V4","score":"CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:A/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N"},{"type":"Ubuntu","score":"medium"}]}