---
id: CVE-2025-1801
title: 'Aap-gateway: aap-gateway privilege escalation'
summary: >-
  A flaw was found in the Ansible aap-gateway. Concurrent requests handled by
  the gateway grpc service can result in concurrency issues due to race
  condition requests against the proxy. This issue potentially allows a less
  privileged user …
severity: high
cvss: 8.1
cvssVector: 'CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:N'
cvssSource: cna
cwe:
  - CWE-362
vendor: Red Hat
product: automation-gateway
affected:
  - automation-gateway >= 2.5.0 < 2.5.20250305-1
  - automation-gateway (all versions)
  - automation-gateway (all versions)
ssvc:
  exploitation: none
  automatable: 'no'
  technicalImpact: partial
  timestamp: '2025-03-03T15:16:01.168075Z'
published: '2025-03-03'
updated: '2026-11-04'
sourceUpdated: '2026-11-04T21:22:18.820Z'
source: CVEORG
sourceUrl: 'https://www.cve.org/CVERecord?id=CVE-2025-1801'
references:
  - url: 'https://access.redhat.com/errata/RHSA-2025:1954'
    label: 'RHSA-2025:1954'
  - url: 'https://access.redhat.com/security/cve/CVE-2025-1801'
  - url: 'https://bugzilla.redhat.com/show_bug.cgi?id=2349081'
    label: RHBZ#2349081
tags:
  - cve.org
epss: 0.00327
epssPercentile: 0.25961
ingestedAt: '2026-11-05T21:36:00.610Z'
---

## Overview

A flaw was found in the Ansible aap-gateway. Concurrent requests handled by the gateway grpc service can result in concurrency issues due to race condition requests against the proxy. This issue potentially allows a less privileged user to obtain the JWT of a greater privileged user, enabling the server to be jeopardized. A user session or confidential data might be vulnerable.

## Affected

- `automation-gateway >= 2.5.0 < 2.5.20250305-1`
- `automation-gateway (all versions)`
- `automation-gateway (all versions)`

## Remediation

Refer to the linked advisories for vendor-supplied fixes and affected version ranges.

### Workarounds

Follow the mitigation steps to avoid the flaw from happening. It is recommended to update the product after the fix is available.


1) set GRPC_SERVER_MAX_THREADS_PER_PROCESS = 1

This mitigates problems going FORWARD for the issue because there is only one thread using the ExternalAuth() object instantiated by the parent process. This eliminates the thread safety risk as the worker only processes one request at a time.

2) It is possible that at any time since the install/upgrade of AAP 2.5, that long lived Oauth tokens created in the components with the endpoints could implicate long term access to a different user's identity/privileges. Requests made with these tokens will appear to be from the user for which they were created and are indistinguishable from “valid” tokens that were created by the correct user:

/api/controller/v2/tokens/
/api/controller/v2/applications/<id>/tokens/
/api/galaxy/v3/auth/token/
/api/controller/o/token/

Because it is likely not feasible to back trace every request that could have generated a token to its original request in the GRPC server, the most conservative and safe path to mitigate this risk would be to invalidate/revoke all existing oauth tokens in the components (hub, controller, eda).
