{"id":"UBUNTU-CVE-2026-40034","details":"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.","modified":"2026-06-03T13:41:16.175790885Z","published":"2026-05-26T15:16:00Z","upstream":["CVE-2026-40034"],"references":[{"type":"REPORT","url":"https://ubuntu.com/security/CVE-2026-40034"},{"type":"REPORT","url":"https://www.cve.org/CVERecord?id=CVE-2026-40034"},{"type":"REPORT","url":"https://github.com/GitoxideLabs/gitoxide/commit/6a2e6a436f76c8bbf2487f9967413a51356667a0"},{"type":"REPORT","url":"https://github.com/GitoxideLabs/gitoxide/commit/dd5c18d9e526e8de462fa40aa047acd097cfa7dc"},{"type":"REPORT","url":"https://github.com/GitoxideLabs/gitoxide/security/advisories/GHSA-f26g-jm89-4g65"},{"type":"REPORT","url":"https://red.anthropic.com/2026/cvd/findings/ANT-2026-6SNS6KMP"},{"type":"REPORT","url":"https://www.vulncheck.com/advisories/gitoxide-command-injection-via-partial-gitmodules-override-in-gix-submodule"}],"affected":[{"package":{"name":"rust-gix","ecosystem":"Ubuntu:25.10","purl":"pkg:deb/ubuntu/rust-gix?arch=source&distro=questing"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["0.69.1-1"],"ecosystem_specific":{"binaries":[{"binary_name":"librust-gix-dev","binary_version":"0.69.1-1"}]},"database_specific":{"source":"https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2026/UBUNTU-CVE-2026-40034.json"}},{"package":{"name":"rust-gix-submodule","ecosystem":"Ubuntu:25.10","purl":"pkg:deb/ubuntu/rust-gix-submodule?arch=source&distro=questing"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["0.16.0-1"],"ecosystem_specific":{"binaries":[{"binary_version":"0.16.0-1","binary_name":"librust-gix-submodule-dev"}]},"database_specific":{"source":"https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2026/UBUNTU-CVE-2026-40034.json"}},{"package":{"name":"rust-gix","ecosystem":"Ubuntu:26.04:LTS","purl":"pkg:deb/ubuntu/rust-gix?arch=source&distro=resolute"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["0.69.1-1","0.69.1-2","0.73.0-1","0.73.0-1build1"],"ecosystem_specific":{"binaries":[{"binary_name":"librust-gix-dev","binary_version":"0.73.0-1build1"}]},"database_specific":{"source":"https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2026/UBUNTU-CVE-2026-40034.json"}},{"package":{"name":"rust-gix-submodule","ecosystem":"Ubuntu:26.04:LTS","purl":"pkg:deb/ubuntu/rust-gix-submodule?arch=source&distro=resolute"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["0.16.0-1","0.20.0-1"],"ecosystem_specific":{"binaries":[{"binary_version":"0.20.0-1","binary_name":"librust-gix-submodule-dev"}]},"database_specific":{"source":"https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2026/UBUNTU-CVE-2026-40034.json"}}],"schema_version":"1.7.5","severity":[{"type":"CVSS_V3","score":"CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H"},{"type":"CVSS_V4","score":"CVSS:4.0/AV:L/AC:L/AT:N/PR:N/UI:P/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N"},{"type":"Ubuntu","score":"medium"}]}