---
id: CVE-2026-16493
title: >-
  Ansible-core: argument injection in ansible-galaxy collection install via git
  clone (incomplete fix for cve-2026-11332)
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
  installin…
severity: high
cvss: 7.8
cvssVector: 'CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H'
cvssSource: cna
cwe:
  - CWE-88
vendor: Red Hat
product: ansible-core
affected:
  - ansible-core (all versions)
  - ansible-core (all versions)
  - pulpcore-obsolete-packages (all versions)
  - python3.12-pulpcore (all versions)
  - ansible-core (all versions)
  - ansible-core (all versions)
  - ansible-core (all versions)
  - ansible-core (all versions)
  - ansible-core (all versions)
ssvc:
  exploitation: none
  automatable: 'no'
  technicalImpact: total
  timestamp: '2026-07-22T14:20:53.644688Z'
published: '2026-07-21'
updated: '2026-11-04'
sourceUpdated: '2026-11-04T22:09:04.660Z'
source: CVEORG
sourceUrl: 'https://www.cve.org/CVERecord?id=CVE-2026-16493'
references:
  - url: 'https://access.redhat.com/errata/RHSA-2026:63385'
    label: 'RHSA-2026:63385'
  - url: 'https://access.redhat.com/errata/RHSA-2026:63386'
    label: 'RHSA-2026:63386'
  - url: 'https://access.redhat.com/errata/RHSA-2026:63387'
    label: 'RHSA-2026:63387'
  - url: 'https://access.redhat.com/security/cve/CVE-2026-16493'
  - url: 'https://bugzilla.redhat.com/show_bug.cgi?id=2503724'
    label: RHBZ#2503724
tags:
  - cve.org
epss: 0.00268
epssPercentile: 0.19017
ingestedAt: '2026-11-05T21:36:00.634Z'
---

## Overview

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

- `ansible-core (all versions)`
- `ansible-core (all versions)`
- `pulpcore-obsolete-packages (all versions)`
- `python3.12-pulpcore (all versions)`
- `ansible-core (all versions)`
- `ansible-core (all versions)`
- `ansible-core (all versions)`
- `ansible-core (all versions)`
- `ansible-core (all versions)`

## Remediation

Refer to the linked advisories for vendor-supplied fixes and affected version ranges.

### 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.
