Description
gix-submodule before 0.29.0 (gitoxide before 0.5.21, gix before 0.84.0) incorrectly validates the update field in .gitmodules, allowing attackers to bypass the CommandForbiddenInModulesConfiguration guard when a submodule has been initialized with only partial configuration in .git/config. An attacker can inject arbitrary shell commands via the update field in .gitmodules that will be executed when Submodule::update() is called on a previously-initialized submodule, enabling remote code execution.
Affected products
| Vendor | Product | Affected | Fixed |
|---|---|---|---|
| gitoxide | gitoxide | < 0.5.21 | 0.5.21 |
| gitoxide | gix-submodule | < 0.29.0 | 0.29.0 |
| gitoxide | gix | < 0.84.0 | 0.84.0 |
Fixed in Linux distributions
Distributions backport fixes, so the version that fixes this vulnerability differs per release — upgrade to at least the version shown. From the distributions' security trackers and advisories.
Debian
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Debian 14 | rust-gix-submodule | 0.30.0-1 | — |
| Debian 13 | rust-gix-submodule | No fix yet | — |
Ubuntu
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Ubuntu 26.10 | rust-gix +1 | No fix yet | — |
| Ubuntu 26.04 LTS | rust-gix +1 | No fix yet | — |
| Ubuntu 25.10 | rust-gix +1 | No fix yet | — |
openSUSE
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| openSUSE Tumbleweed | gitoxide | 0.56.0-1.1 | openSUSE-SU-2026:11474-1 |
| openSUSE Tumbleweed | stgit | 2.6.0-1.1 | openSUSE-SU-2026:11038-1 |
| openSUSE Tumbleweed | watchexec | 2.8.0-1.1 | openSUSE-SU-2026:12338-1 |
| openSUSE Leap 16.0 | gitoxide | 0.56.0-bp160.1.1 | openSUSE-SU-2026:21558-1 |
| openSUSE Leap 16.0 | stgit | 2.6.0-bp160.1.1 | openSUSE-SU-2026:21185-1 |
Amazon Linux
| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Amazon Linux 2023 | cargo-c | 0.10.19-1.amzn2023.0.4 | ALAS2023-2026-2024 |
| Amazon Linux 2023 | rust +14 | 1.97.0-1.amzn2023.0.1 | ALAS2023-2026-1951 |
| Amazon Linux 2 | rust +11 | 1.97.0-1.amzn2.0.1 | ALAS2-2026-3808 |
Azure Linux
| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Azure Linux 3 | rust | 1.75.0-30 | — |
Wolfi
| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Wolfi rolling | cargo-audit | 0.22.2-r0 | — |
| Wolfi rolling | cargo-c | 0.10.24-r0 | — |
| Wolfi rolling | codex | 0.148.0-r1 | — |
Affected packages
| Ecosystem | Package | Affected | Fixed | Record |
|---|---|---|---|---|
| crates.io | gix | >= 0.31.0, < 0.83.0 | 0.83.0 | GHSA-f26g-jm89-4g65 |
Advisories 8
- ALAS2-2026-3808 Important: rust security update (Amazon Linux 2) Amazon Linux Security Center (ALAS) · Nov 2, 2026
- ALAS2023-2026-1951 Important: rust security update (Amazon Linux 2023) Amazon Linux Security Center (ALAS) · Nov 2, 2026
- openSUSE-SU-2026:12338-1 watchexec-2.8.0-1.1 on GA media SUSE / openSUSE Security Updates · Oct 29, 2026
- openSUSE-SU-2026:21558-1 Security update for gitoxide SUSE / openSUSE Security Updates · Aug 12, 2026
- openSUSE-SU-2026:11474-1 gitoxide-0.56.0-1.1 on GA media SUSE / openSUSE Security Updates · Aug 10, 2026
- ALAS2023-2026-2024 Important: rust-cargo-c security update (Amazon Linux 2023) Amazon Linux Security Center (ALAS) · Aug 4, 2026
- openSUSE-SU-2026:21185-1 Security update for stgit SUSE / openSUSE Security Updates · Jul 2, 2026
- openSUSE-SU-2026:11038-1 stgit-2.6.0-1.1 on GA media SUSE / openSUSE Security Updates · Jun 16, 2026
References
- GitHub Security Advisory (GHSA-f26g-jm89-4g65) vendor-advisory
- https://github.com/GitoxideLabs/gitoxide/commit/6a2e6a436f76c8bbf2487f9967413a51356667a0 patch
- https://github.com/GitoxideLabs/gitoxide/commit/dd5c18d9e526e8de462fa40aa047acd097cfa7dc patch
- Anthropic CVD Finding ANT-2026-6SNS6KMP third-party-advisory
- VulnCheck Advisory: gitoxide - Command Injection via Partial .gitmodules Override in gix-submodule third-party-advisory