Логотип exploitDog
Консоль
Логотип exploitDog

exploitDog

redhat логотип

CVE-2026-12726

Опубликовано: 19 июн. 2026
Источник: redhat
CVSS3: 6.3
EPSS Низкий

Описание

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.

Отчет

Red Hat rates this issue as Moderate impact. This flaw affects AWX controller deployments that enable GitHub webhooks with status callback configured (webhook_service=github and a GitHub Personal Access Token configured as webhook_credential on the job template). The controller intentionally uses the configured GitHub PAT to post commit status updates back to GitHub; however, it fails to restrict the callback destination to trusted GitHub API endpoints. When a forged webhook with a valid HMAC signature supplies a malicious statuses_url, the PAT may be sent to an attacker-controlled URL on job completion. Exploitation requires knowledge of the per-job-template webhook_key used to validate incoming webhook requests. This secret is not controllable by arbitrary GitHub contributors through normal GitHub webhook delivery; it must be obtained through privileged access to the automation controller or compromise/disclosure of the configured shared secret. Additional preconditions include network reachability to the webhook endpoint and network reachability from the controller to the attacker-specified callback URL. AWX is typically deployed as internal infrastructure management tooling, which may limit practical exposure in many environments, but does not eliminate the issue where GitHub webhook integration with status callback is enabled.

Меры по смягчению последствий

The following practices may reduce exposure to this flaw until a fix is available:

  1. Restrict network access to controller webhook endpoints so only trusted GitHub egress IPs or an approved reverse proxy can reach them.
  2. Protect job template webhook keys as secrets; restrict Job Template admin access; rotate webhook keys if compromise is suspected.
  3. If commit status callback to GitHub is not required, configure GitHub webhooks without a webhook_credential on the job template (this disables PAT transmission on job completion).
  4. Monitor controller logs and outbound connections for unexpected callback destinations following webhook-triggered jobs.

Затронутые пакеты

ПлатформаПакетСостояниеРекомендацияРелиз
Red Hat Ansible Automation Platform 2ansible-automation-platform-26/controller-rhel9Fix deferred
Red Hat Ansible Automation Platform 2ansible-automation-platform-27/controller-rhel9Fix deferred
Red Hat Ansible Automation Platform 2automation-controllerFix deferred

Показывать по

Дополнительная информация

Статус:

Moderate
Дефект:
CWE-918
https://bugzilla.redhat.com/show_bug.cgi?id=2490796awx: automation-controller: awx: GitHub webhook second-order SSRF via unvalidated statuses_url exfiltrates PAT credential

EPSS

Процентиль: 26%
0.00326
Низкий

6.3 Medium

CVSS3

Связанные уязвимости

CVSS3: 6.3
nvd
2 месяца назад

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.

CVSS3: 6.3
github
2 месяца назад

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.

EPSS

Процентиль: 26%
0.00326
Низкий

6.3 Medium

CVSS3