Skip to main content

galaxy_ng CVE-2026-12398

| EUVDEUVD-2026-37124 HIGH
OS Command Injection (CWE-78)
2026-06-16 redhat GHSA-6hw7-j4jw-wpff
7.5
CVSS 3.1 · Vendor: redhat
Share

Severity by source

Vendor (redhat) PRIMARY
7.5 HIGH
AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H
vuln.today AI
7.5 HIGH

Network-reachable API (AV:N) but requires non-default GALAXY_ENABLE_LEGACY_ROLES and attacker-controlled git ref (AC:H); needs an authenticated account (PR:L); RCE on pulp worker yields full C/I/A impact.

3.1 AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H
4.0 AV:N/AC:H/AT:P/PR:L/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N
Red Hat
7.5 MEDIUM
qualitative

Primary rating from Vendor (redhat).

CVSS VectorVendor: redhat

Attack Vector
Network
Attack Complexity
High
Privileges Required
Low
User Interaction
None
Scope
Unchanged
Confidentiality
High
Integrity
High
Availability
High

Lifecycle Timeline

1
Analysis Generated
Jun 16, 2026 - 15:23 vuln.today

DescriptionCVE.org

A command injection vulnerability was found in galaxy_ng. The do_git_checkout() function in the legacy role import API (v1) interpolates unsanitized git ref names (branch/tag names) into shell commands executed via subprocess.run() with shell=True. An authenticated user who controls a git repository can create a branch or tag with shell metacharacters in the name to achieve remote code execution on the pulp worker. The vulnerable endpoint is only reachable when GALAXY_ENABLE_LEGACY_ROLES is set to True, which is not the default configuration.

AnalysisAI

Remote code execution in galaxy_ng's legacy role import API (v1) allows an authenticated user controlling a git repository to execute arbitrary commands on the pulp worker by crafting a branch or tag name containing shell metacharacters. The flaw stems from unsanitized git ref interpolation into a subprocess.run() call with shell=True inside do_git_checkout(), and only affects deployments where GALAXY_ENABLE_LEGACY_ROLES is explicitly enabled (non-default). No public exploit identified at time of analysis.

Technical ContextAI

galaxy_ng is the Red Hat Ansible Galaxy content service that ships as part of Red Hat Ansible Automation Platform 2 (per the provided CPEs). The vulnerable code path lives in the legacy v1 role import API, which clones user-supplied git repositories on a pulp worker to import Ansible roles. The do_git_checkout() helper builds a shell command string that concatenates a git ref (branch or tag name) supplied by the remote repository and then runs it through Python's subprocess.run(..., shell=True), so the shell - not git - parses the ref. This is a textbook CWE-78 (OS Command Injection): metacharacters such as ;, &&, $(...) or backticks embedded in the ref are interpreted by /bin/sh and executed in the worker context.

RemediationAI

Patch availability is not stated explicitly in the supplied data, so treat this as 'Patch available per vendor advisory' and consult https://access.redhat.com/security/cve/CVE-2026-12398 and https://bugzilla.redhat.com/show_bug.cgi?id=2489180 for the exact fixed galaxy_ng / Ansible Automation Platform 2 builds. The simplest compensating control is to set GALAXY_ENABLE_LEGACY_ROLES=False (the default), which removes the vulnerable v1 role import endpoint entirely; the trade-off is that users can no longer import legacy Galaxy v1 roles and must migrate to collections. If legacy roles must remain enabled, restrict who can authenticate to the Galaxy API and who can submit role imports (limit to trusted internal users), and front the API with a reverse proxy that blocks POSTs to the v1 role import endpoint from untrusted networks. As a deeper hardening measure, run the pulp worker under a dedicated low-privilege account in a sandbox (container with no outbound network, read-only FS) so that command execution via a malicious git ref cannot pivot to secrets or signing keys.

CVE-2026-11807 CRITICAL
9.6 Jun 23

Credential disclosure in Red Hat Ansible Automation Platform 2.5 and 2.6 allows any authenticated user to retrieve plain

CVE-2026-12564 CRITICAL
9.6 Aug 18

Server-side request forgery in the Red Hat Ansible Automation Platform 2 Controller's HashiCorp Vault credential plugin

CVE-2026-12701 CRITICAL
9.0 Jul 20

Arbitrary file write in pulpcore's FilesystemExport feature allows an authenticated administrator to escape the intended

CVE-2026-12382 HIGH
8.2 Jul 15

mTLS authentication bypass in the Red Hat Ansible Automation Platform (AAP) Gateway Envoy proxy allows unauthenticated r

CVE-2026-16493 HIGH
7.8 Jul 21

Arbitrary command execution in ansible-core allows an attacker who controls a collection source URI to run commands on a

CVE-2026-44191 HIGH
7.8 Jul 22

Local code execution in the Visual Studio Code Ansible (Lightspeed) extension lets a malicious project run arbitrary she

CVE-2026-71365 HIGH
7.7 Aug 18

Credential exfiltration via SSRF in AWX's GitHub webhook status callback affects Red Hat Ansible Automation Platform 2:

CVE-2026-71366 HIGH
7.7 Aug 24

SSRF vulnerabilities in AWX notification backends (webhook, Mattermost, Rocket.Chat, and Grafana) allow an authenticated

CVE-2026-71364 HIGH
7.2 Aug 24

Path traversal in AWX's project_archive action plugin allows arbitrary file writes to execution node filesystems outside

CVE-2026-16544 MEDIUM
6.5 Jul 22

Incomplete RBAC authorization in AWX's websocket event consumer exposes real-time job stdout to any authenticated user,

CVE-2026-79717 MEDIUM
6.4 Aug 25

Server-side request forgery in galaxy_ng, the Ansible Galaxy server plugin for Pulp, allows authenticated users holding

CVE-2025-57847 MEDIUM
6.4 Apr 08

Container privilege escalation in Red Hat Ansible Automation Platform 2 allows non-root users within affected container

Vendor StatusVendor

Share

CVE-2026-12398 vulnerability details – vuln.today

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy