Skip to main content

Ansible AWX EUVDEUVD-2026-38065

| CVE-2026-12726 MEDIUM
Server-Side Request Forgery (SSRF) (CWE-918)
2026-06-19 redhat GHSA-w8qh-qh69-53cx
6.3
CVSS 3.1 · Vendor: redhat
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Obtain job template webhook_key
  2. Delivery
    Craft pull_request webhook with malicious statuses_url
  3. Exploit
    Sign and submit forged webhook to AWX receiver
  4. Execution
    AWX stores attacker-controlled callback URL
  5. Persist
    Job execution triggers status POST bearing GitHub PAT
  6. Impact
    Receive and exfiltrate GitHub PAT at attacker endpoint

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V4 - API and Web Service URL allowlisting, SSRF prevention
MITRE ATT&CK

2 techniques across 2 tactics: Initial Access, Credential Access

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

Three specific conditions must be satisfied simultaneously: (1) The targeted job template must be configured with GitHub pull_request webhook integration AND have a GitHub Personal Access Token set as the webhook credential - templates using other credential types or no PAT are not affected. (2) The attacker must possess the job template's webhook_key (the HMAC signing secret used to authenticate incoming webhooks) - this is the primary access control barrier and the prerequisite that drives AC:H in the CVSS vector; without it, forged webhooks are rejected. (3) The AWX controller must be able to make outbound network connections to the attacker's specified callback URL - deployments with strict egress filtering that permits only api.github.com are not exploitable via this path. Exploitation is further limited to the job template's execution lifecycle: the PAT is only transmitted when AWX posts a status update after job completion or status change, so the attacker must trigger or await a job run following webhook injection. Authentication on the AWX platform itself is not required beyond possession of the webhook_key.

Impact

The vendor-assigned CVSS 3.1 score of 6.3 (AV:N/AC:H/PR:L/UI:N/S:C/C:H/I:N/A:N) classifies this as Medium severity, but the real-world risk is meaningfully higher for organizations relying on broad-scoped GitHub PATs. AC:H reflects the genuine prerequisite of possessing the webhook_key signing secret, which is the primary access control barrier. PR:L acknowledges that the attacker must hold this credential-equivalent key. The scope change (S:C) and high confidentiality impact (C:H) capture the critical downstream consequence: a stolen PAT grants the attacker persistent access to GitHub repositories entirely outside the AWX environment. EPSS data was not provided in the available intelligence, and this CVE is not currently listed in the CISA KEV catalog, indicating no confirmed active exploitation at time of analysis. No POC exploit code has been publicly identified. The realistic priority is elevated specifically for deployments where the configured PAT has broad organizational or cross-repository permissions - in those environments, a single webhook credential theft translates to widespread GitHub access. Egress filtering on the AWX controller is a meaningful compensating control that directly breaks the attack chain.

Exploit ScenarioDerived

An attacker who has obtained the webhook_key for a targeted AWX job template - through credential disclosure, insider access, or prior system compromise - crafts a GitHub pull_request webhook JSON payload with the statuses_url field set to an attacker-controlled HTTPS listener. The payload is HMAC-signed using the webhook_key and submitted to the AWX webhook receiver endpoint. When AWX processes the forged webhook and the associated job subsequently completes, AWX POSTs the job status update - bearing the configured GitHub PAT as an Authorization: Bearer header - to the attacker's endpoint, completing the credential theft with no further interaction required.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
No patch listed yet 0.2% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Jun 19, 2026

Server-Side Request Forgery in AWX's GitHub webhook integration (Red Hat Ansible Automation Platform 2) enables a remote attacker possessing a job template's webhook_key to redirect PAT-bearing status callbacks to an attacker-controlled endpoint, exfiltrating the configured GitHub Personal Access Token. The attack exploits AWX's failure to validate that the pull_request.statuses_url field in an incoming webhook payload points to a legitimate GitHub API domain before using it as a POST target. No public exploit is identified at time of analysis, but successful exploitation yields persistent GitHub repository access through the stolen PAT, extending the blast radius well beyond the AWX system itself.

RemediationAI

Consult the Red Hat security advisory at https://access.redhat.com/security/cve/CVE-2026-12726 and the tracking bug at https://bugzilla.redhat.com/show_bug.cgi?id=2490796 for the latest patch availability, as no specific fix version is confirmed in the available data; check for an updated RAAP 2 package release from Red Hat. While awaiting a patch, implement the following specific compensating controls: (1) Apply egress firewall rules on AWX controller hosts that restrict outbound HTTPS to api.github.com only, blocking all other destinations - this directly prevents the SSRF callback from reaching attacker-controlled infrastructure, though it may break other outbound integrations if not scoped carefully. (2) Immediately rotate all GitHub PATs configured as AWX webhook credentials and replace them with fine-grained PATs scoped to the minimum required permissions (e.g., statuses:write on specific repositories only), to limit the impact of any PAT that may have already been exfiltrated. (3) Disable GitHub webhook integration on any job templates that do not strictly require it, reducing the attack surface. (4) Audit AWX outbound network logs for unexpected POST requests to non-GitHub-API domains originating from the webhook processing path, as evidence of prior exploitation. Note that PAT rotation alone does not remediate the underlying SSRF vulnerability.

Affects your stack

Find out whether the stacks and servers you run are on an affected version.

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

AWX (the open-source upstream component of Red Hat Ansible Automation Platform 2) implements GitHub webhook integration that ingests pull_request events and posts job execution status back to GitHub via the payload-supplied statuses_url field - normally an api.github.com endpoint. The root cause is CWE-918 (Server-Side Request Forgery): AWX stores the statuses_url value from the untrusted webhook JSON body without asserting that the hostname belongs to the expected GitHub API domain. When a job template is configured with a GitHub PAT as its webhook credential, AWX authenticates outbound status POST requests with that PAT as a Bearer token. Because the callback target URL is attacker-controllable through the unvalidated payload field, the PAT is delivered to whatever HTTP endpoint the attacker specifies. Affected products per CPE cpe:2.3:a:red_hat:red_hat_ansible_automation_platform_2:*:*:*:*:*:*:*:* cover all versions of Red Hat Ansible Automation Platform 2; upstream AWX installations with the same webhook architecture are similarly affected.

Know when Red Hat Ansible Automation Platform 2 gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

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

Attacker must hold the webhook_key (PR:L), target must have PAT-based credentials configured (AC:H), and stolen PAT impacts GitHub outside AWX (S:C/C:H).

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

Primary rating from Vendor (redhat).

CVSS VectorVendor: redhat

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

DescriptionCVE.org

A flaw was found in the AWX GitHub webhook integration. When processing GitHub pull_request webhooks, the controller stores the pull_request.statuses_url value from the webhook payload without validating that it points to a trusted GitHub API endpoint. If a job template is configured with a GitHub Personal Access Token as its webhook credential, the controller later POSTs that token to the stored callback URL when posting job status updates. An attacker who can submit a correctly signed forged webhook using the job template's webhook_key can redirect the callback to an attacker-controlled URL and exfiltrate the configured GitHub PAT.

Threat Intelligence Overview

EPSS Score
0.2%
Top 90% exploitable
Data Quality
7 sources
Confidence: High
EUVD NVD CVE.org EPSS Vulnrichment Vendor VulDB

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity MEDIUM
CISA KEV No
Public POC No
EPSS 0.2%
Patch available No
Active threat No
Deciding rule
MEDIUM severity (CVSS 4.0-6.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Scheduled
Exploitation
None
System Exposure· derived
Open
Automatable
No
Human Impact· derived
Medium
Technical Impact
Partial

Priority Score

32
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +32
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Server-Side Request Forgery exploits applications that fetch remote resources based on user-supplied URLs.

Affected Products (CPE)CVE.org

cpe:2.3:a:red_hat:red_hat_ansible_automation_platform_2:*:*:*:*:*:*:*:*
cpe:2.3:a:red_hat:red_hat_ansible_automation_platform_2:*:*:*:*:*:*:*:*
cpe:2.3:a:red_hat:red_hat_ansible_automation_platform_2:*:*:*:*:*:*:*:*
CVE-2026-84719 CRITICAL
9.9 Sep 23

Missing authorization checks in the Red Hat Ansible Automation Platform 2 automation-controller allow an authenticated o

CVE-2026-84502 CRITICAL
9.9 Sep 23

Authenticated users who hold permission to create or modify a project within a single organization can execute arbitrary

CVE-2026-84474 CRITICAL
9.9 Sep 23

Privilege escalation and remote code execution on managed hosts is possible in Red Hat Ansible Automation Platform 2 bec

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-75884 CRITICAL
9.1 Sep 23

Privilege escalation in Red Hat Ansible Automation Platform 2 (built on the AWX upstream project) lets an authenticated

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-89091 HIGH
8.8 Oct 08

Symlink-following file overwrite on the Ansible control node is possible in ansible-core when a user runs `ansible-galax

CVE-2026-84683 HIGH
8.7 Sep 23

Stored cross-site scripting in the automation-controller component of Red Hat Ansible Automation Platform 2 lets an auth

CVE-2026-84691 HIGH
8.7 Sep 23

An authenticated automation-controller administrator in Red Hat Ansible Automation Platform 2 can turn the administrator

CVE-2026-92982 HIGH
8.5 Oct 15

Jinja2 template injection in Ansible Operator Plugins (CWE-1336) lets an authenticated Kubernetes user who can create or

CVE-2026-76648 HIGH
8.5 Sep 23

Missing object-level authorization in the JobTemplate copy endpoint (CopyAPIView) of AWX and Red Hat Ansible Automation

Vendor StatusVendor

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