REDHAT-BUG-2490796: Medium severity Ansible AWX vulnerability

Published Jun 19, 2026
·
Updated

A flaw was found in the AWX GitHub webhook integration. When a GitHub pullrequest webhook is received, GithubWebhookReceiver.geteventstatusapi() in awx/api/views/webhooks.py returns pullrequest.statusesurl from the request body without validation. The value is stored in job extra variables as awxwebhookstatusapi and later used by WebhookMixin.updatewebhookstatus() in awx/main/models/mixins.py as the callback URL when posting job status updates. If a job template is configured with webhookservice=github and a GitHub Personal Access Token credential as webhookcredential, the controller sends that token in the Authorization header when POSTing to the stored callback URL on job completion. Although the controller is designed to post commit status updates back to GitHub, it does not restrict the callback URL to trusted GitHub API endpoints. An attacker who can submit a forged webhook request with a valid HMAC-SHA1 signature for the target job template's webhookkey can supply an attacker-controlled statusesurl and cause exfiltration of the configured GitHub PAT when the triggered job completes. Normal GitHub webhook deliveries do not allow arbitrary contributors to control statusesurl; exploitation requires knowledge of the per-template webhook shared secret or privileged access to retrieve it from the controller. Upstream: https://github.com/ansible/awx Affected files: - awx/api/views/webhooks.py (GithubWebhookReceiver.geteventstatusapi) - awx/main/models/mixins.py (WebhookMixin.updatewebhookstatus)

Affected Software

1 affected component
Ansible AWX

Remediation

Recommended actions to resolve this vulnerability, in priority order.

  1. Configuration

    Validate the pull_request.statuses_url received in incoming GitHub webhooks and reject or override values that are not GitHub-owned API endpoints before storing or using them as callback URLs for status updates.

    AWX (GitHub webhook integration) statuses_url validation = only allow trusted GitHub API endpoints
  2. Configuration

    Do not configure webhook_credential for job templates with a GitHub Personal Access Token. Remove existing PATs from webhook_credential and use a less-privileged mechanism or credential that does not expose a PAT to webhook-driven callbacks.

    AWX job template webhook credential webhook_credential = do not use a GitHub Personal Access Token (PAT)
  3. Compensating control

    Restrict network egress from AWX controllers so callback POSTs for job status may only reach trusted GitHub API endpoints (allowlist GitHub API domains/IPs). Block outbound HTTP(S) requests to arbitrary external URLs from the controller to prevent exfiltration to attacker-controlled statuses_url values.

  4. Operational

    Audit all job templates for webhook_service=github and identify any that use a GitHub Personal Access Token as webhook_credential. Reconfigure affected templates to remove or replace the credential and review recent job runs for potential token leakage.

  5. Operational

    If compromise is suspected or as a precaution, rotate/revoke any GitHub Personal Access Tokens used as webhook_credential and rotate per-template webhook shared secrets (webhook_key) to prevent replay or forged webhook exploitation.

Event History

Jun 19, 2026
Data Sourced
via Red Hat·03:10 PM
DescriptionSeverityAffected Software
Free Weekly Intel

Don't miss critical vulnerabilities

Join thousands of security professionals who receive our weekly digest of trending CVEs, zero-days, and exploited vulnerabilities.

No spam. Unsubscribe anytime.

Frequently Asked Questions

1

What is the severity of REDHAT-BUG-2490796?

The severity of REDHAT-BUG-2490796 is medium, rated at 4.

2

What software is affected by REDHAT-BUG-2490796?

Ansible AWX is the affected software for REDHAT-BUG-2490796.

3

What is the flaw described in REDHAT-BUG-2490796?

REDHAT-BUG-2490796 describes a flaw where the AWX GitHub webhook integration does not validate the 'statuses_url' from the pull request, leading to potential information leakage.

4

How do I fix REDHAT-BUG-2490796?

To fix REDHAT-BUG-2490796, ensure that the 'statuses_url' value from the GitHub webhook is validated before being processed by the AWX application.

5

When was REDHAT-BUG-2490796 published?

REDHAT-BUG-2490796 was published on June 19, 2026.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203