CVE-2026-16493

Summary

A flaw was found in ansible-core. The _extract_collection_from_git() function in ansible-core's concrete_artifact_manager.py constructs git clone commands without a '–' (end-of-options) separator before user-supplied URLs when installing collections from git sources. An attacker who provides a crafted collection source URI containing git argument injection payloads can achieve arbitrary command execution when a user runs 'ansible-galaxy collection install' with the malicious source. This is an incomplete fix for CVE-2026-11332, which hardened the role install path but missed the equivalent collection install code path.

Affected Software

VendorProductVersion RangeStatus
Red HatRed Hat Satellite 6.17 for RHEL 91:2.16.19-1.el9sat < *unaffected
Red HatRed Hat Satellite 6.18 for RHEL 91:2.16.19-1.el9sat < *unaffected
Red HatRed Hat Satellite 6.18 for RHEL 90:1.3.1-5.el9pc < *unaffected
Red HatRed Hat Satellite 6.18 for RHEL 90:3.73.30-3.el9pc < *unaffected
Red HatRed Hat Satellite 6.19 for RHEL 91:2.16.19-1.el9sat < *unaffected

Weaknesses

  • CWE-88: Improper Neutralization of Argument Delimiters in a Command ('Argument Injection')

Workarounds

The following practices would help for avoiding exposure and mitigate this flaw:

  1. Do not install Ansible collections from untrusted or unverified git sources. Only install collections from trusted sources such as Ansible Galaxy (https://galaxy.ansible.com), Red Hat Automation Hub (https://console.redhat.com/ansible/automation-hub), or verified internal repositories using HTTPS URLs.

  2. Carefully inspect any requirements.yml files before running 'ansible-galaxy collection install -r requirements.yml'. Verify that all collection sources use legitimate HTTPS URLs and do not contain git+ prefixed URIs with suspicious characters (especially values starting with '-').

  3. Ensure your system's git version is 2.12 or later, which disables the ext:: transport by default. While this does not fully prevent exploitation (the -ccore.sshCommand technique bypasses transport restrictions), it eliminates one of the exploitation vectors.

  4. Restrict the GIT_ALLOW_PROTOCOL environment variable to only necessary protocols (e.g. https, ssh) and never include 'ext' unless absolutely required.

ADP Enrichment

CISA ADP Vulnrichment

  • SSVC:
  • Exploitation: none
    • Automatable: no
    • Technical Impact: total

References