p PatchFirst

CVE-2026-5917

CVE-2026-5917 · libgit2 Shell Command Injection via ssh_libssh2 Backend

This page contains facts from public vulnerability sources. Check the original advisory before updating.

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.

CVSS 8.6 · High · EPSS 1.4% · Fix available

Published
Updated

Stack: system

Affected products and versions

  • libgit2

    Versions
    • ≥ 0, < 1.8.7: Affected (custom)
    • ≥ 1.9.0, < 1.9.7: Affected (semver)

    Update to 1.8.7; Update to 1.9.7

  • libgit2 Debian:12

    Versions
    • 1.5.1+ds-1
    • 1.5.1+ds-1+deb12u1
    Affected ranges
    • ECOSYSTEM: < 1.5.1+ds-1+deb12u2

    Update to 1.5.1+ds-1+deb12u2

  • libgit2 Debian:13

    Versions
    • 1.9.0+ds-2
    Affected ranges
    • ECOSYSTEM: < 1.9.0+ds-2+deb13u1

    Update to 1.9.0+ds-2+deb13u1

  • libgit2 Debian:14

    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
    Affected ranges
    • ECOSYSTEM: < 1.9.7+ds-1

    Update to 1.9.7+ds-1

  • libgit2 Ubuntu:Pro:16.04:LTS

    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
    Affected ranges
    • ECOSYSTEM: < 0.24.1-2ubuntu0.2+esm4

    Update to 0.24.1-2ubuntu0.2+esm4

  • libgit2 Ubuntu:Pro:18.04:LTS

    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
    Affected ranges
    • ECOSYSTEM: < 0.26.0+dfsg.1-1.1ubuntu0.2+esm3

    Update to 0.26.0+dfsg.1-1.1ubuntu0.2+esm3

  • libgit2 Ubuntu:Pro:20.04:LTS

    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
    Affected ranges
    • ECOSYSTEM: < 0.28.4+dfsg.1-2ubuntu0.1+esm2

    Update to 0.28.4+dfsg.1-2ubuntu0.1+esm2

  • libgit2 Ubuntu:Pro:22.04:LTS

    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
    Affected ranges
    • ECOSYSTEM: < 1.1.0+dfsg.1-4.1ubuntu0.1+esm2

    Update to 1.1.0+dfsg.1-4.1ubuntu0.1+esm2

  • libgit2 Ubuntu:24.04:LTS

    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
    Affected ranges
    • ECOSYSTEM: < 1.7.2+ds-1ubuntu3.2

    Update to 1.7.2+ds-1ubuntu3.2

  • libgit2 Ubuntu:26.04:LTS

    Versions
    • 1.9.0+ds-2ubuntu2
    • 1.9.1+ds-1ubuntu1
    • 1.9.1+ds-1ubuntu1.1
    Affected ranges
    • ECOSYSTEM: < 1.9.1+ds-1ubuntu1.2

    Update to 1.9.1+ds-1ubuntu1.2

Original sources

Check your server →