Public vulnerability disclosure

CVE-2026-84474

Automation-controller: automation-controller-container: automation-controller: view_jobtemplate to execute privilege escalation via host_config_key exposure and x-forwarded-for spoofing of provisioning-callback host match

publishedCWE-807

A flaw was found in Red Hat Ansible Automation Platform's automation- controller. The provisioning-callback secret (host_config_key) is exposed to users holding only the read-level view_jobtemplate permission -- both in the job template API representation and in the activity stream -- and the provisioning callback endpoint trusts a client-supplied X-Forwarded-For header to determine the calling host when the controller is deployed behind the AAP gateway with an empty proxy allow-list. By reading the secret and spoofing X-Forwarded-For to match any host in the job template's inventory, a minimally privileged or unauthenticated remote attacker can launch the job template against arbitrary managed hosts using the job template's credentials, resulting in privilege escalation and remote code execution on managed hosts.

Technical severity9.9 criticalCVSS 3.1 · CNA: redhat
Published2026-09-23Source updated 2026-11-04
Collected2026-11-052 attributed sources

Fixes and workarounds

Workaround

- Restrict who holds view_jobtemplate on job templates that have provisioning callback enabled; disable provisioning callback (clear host_config_key) on JTs that do not require it. - Set PROXY_IP_ALLOWED_LIST to the AAP gateway/envoy address(es) so untrusted client X-Forwarded-For headers are stripped before host matching. - Rotate any host_config_key values that may have been exposed to read-only users; review activity_stream access. - Monitor for jobs with launch_type=callback and unexpected limit values or created_by=None.

Source: CNA: redhat

Affected products and versions

Affected products, source version ranges and reporting authorities
ProductVersionsAuthority
Red Hat Ansible Automation Platform 2.4 for RHEL 8
Red Hat
automation-controller
https://access.redhat.com/downloads/content/package-browser/
≥ 0:4.5.36-1.el8ap; < * (unaffected, rpm)
Other versions: affected
CNA: redhat
Red Hat Ansible Automation Platform 2.4 for RHEL 9
Red Hat
automation-controller
https://access.redhat.com/downloads/content/package-browser/
≥ 0:4.5.36-1.el9ap; < * (unaffected, rpm)
Other versions: affected
CNA: redhat
Red Hat Ansible Automation Platform 2.5 for RHEL 8
Red Hat
automation-controller
https://access.redhat.com/downloads/content/package-browser/
≥ 0:4.6.33-1.el8ap; < * (unaffected, rpm)
Other versions: affected
CNA: redhat
Red Hat Ansible Automation Platform 2.5 for RHEL 9
Red Hat
automation-controller
https://access.redhat.com/downloads/content/package-browser/
≥ 0:4.6.33-1.el9ap; < * (unaffected, rpm)
Other versions: affected
CNA: redhat
Red Hat Ansible Automation Platform 2.6 for RHEL 9
Red Hat
automation-controller
https://access.redhat.com/downloads/content/package-browser/
≥ 0:4.7.17-1.el9ap; < * (unaffected, rpm)
Other versions: affected
CNA: redhat
Red Hat Ansible Automation Platform 2.6
Red Hat
ansible-automation-platform-26/controller-rhel9
https://catalog.redhat.com/software/containers/
≥ 1789673739; < * (unaffected, rpm)
Other versions: affected
CNA: redhat
Red Hat Ansible Automation Platform 2.7
Red Hat
ansible-automation-platform-27/controller-rhel9
https://catalog.redhat.com/software/containers/
≥ 1789580684; < * (unaffected, rpm)
Other versions: affected
CNA: redhat

Version ranges are source assertions. Check the vendor advisory and your installed configuration before determining exposure.

CVSS assessments

CVSS scores, vectors and reporting authorities
Version / scoreVectorAuthority
3.1 / 9.9
critical
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:HCNA: redhat

Exploit evidence

No exploit evidence in collected sources. This is not proof of no exploitation.

References

For agents and automation

Read public disclosures for free as Markdown or JSON. Compatible browsers also expose native WebMCP tools to search disclosures, read this page, and discover API access.

Use the ontology-linked Cyber API with x402 pay per request, or a Y2 Pro or Elite API key with the intel:cyber scope.

Endpoints and access details

https://api.y2.dev/api/v2/cyber/cves
https://api.y2.dev/api/v2/cyber/cves/{cveId}

A workspace owner or admin can create a Pro or Elite API key. Send Authorization: Bearer <Y2_API_KEY> from your trusted agent runtime.

For x402, omit Authorization and read the HTTP 402 payment challenge before signing a retry. Public browser tools do not make payments.

Agent access JSON · OpenAPI · CVE API guide