Bug 2514521 - CVE-2026-5917 rust-libgit2-sys0.17: libgit2: Arbitrary code execution via shell command injection in SSH backend [epel-all]
Summary: CVE-2026-5917 rust-libgit2-sys0.17: libgit2: Arbitrary code execution via she...
Keywords:
Status: CLOSED CURRENTRELEASE
Alias: None
Product: Fedora EPEL
Classification: Fedora
Component: rust-libgit2-sys0.17
Version: epel10
Hardware: Unspecified
OS: Unspecified
high
high
Target Milestone: ---
Assignee: Rust SIG
QA Contact:
URL:
Whiteboard: {"flaws": ["bf1b81d9-4fec-4354-8234-5...
Depends On:
Blocks: CVE-2026-5917
TreeView+ depends on / blocked
 
Reported: 2026-08-12 08:17 UTC by Ganesh
Modified: 2026-08-14 19:55 UTC (History)
2 users (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed: 2026-08-14 19:55:19 UTC
Type: ---
Embargoed:


Attachments (Terms of Use)

Description Ganesh 2026-08-12 08:17:01 UTC
Disclaimer: Community trackers are created by Red Hat Product Security team on a best effort basis. Package maintainers are required to ascertain if the flaw indeed affects their package, before starting the update process.

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.

Comment 1 Fabio Valentini 2026-08-14 19:30:59 UTC
This package is retired in EPEL 10.3 and is only present in EPEL 9 and 10.2.

Some applications need to be rebuilt with a more recent version and some need more adaptations.

Comment 2 Fabio Valentini 2026-08-14 19:55:19 UTC
All applications that use libgit2 via the Rust bindings (any version) in EPEL should be getting rebuilt right now, with one exception:

rust-git-absorb still depends on the old "compat" packages (rust-git2_0.19 / rust-libgit2-sys0.17) in EPEL 9, so it would need to get handled separately. However, it only handles local history, and doesn't do networking, so I think it is not affected by this issue at all.


Note You need to log in before you can comment on or make changes to this bug.