CyberRota Analysis
AI-GeneratedVersions of libgit2 from v0.27.0 to v1.9.0 that utilize the libssh2 SSH backend are vulnerable to a shell command injection flaw, allowing remote attackers to execute arbitrary commands on an SSH server. This vulnerability arises from the improper handling of unescaped shell metacharacters in repository paths, which can be exploited through malicious submodule URLs in .gitmodules files during recursive clones. Organizations using affected versions of libgit2, particularly those with SSH access, should prioritize immediate remediation to mitigate the risk of unauthorized command execution.
Public Exploit Signal
A public exploit, PoC, GitHub repository or Metasploit reference was detected for this CVE.
Note: these links are listed for security research and verification purposes only.
Original NVD Description
libgit2 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.