[UPDATED] Details regarding CVE-2025-14025
Updated
While this CVE doesn't allow privilege escalation, it defeats the intentional safety mechanism of read-only token scopes. Until the fix is applied, defense-in-depth through RBAC least privilege, credential restrictions, and careful token management is essential to limit potential damage.
Mitigations (Until Patch Release Containing Fix is Applied)
Immediate Actions to Limit Blast Radius:
- Audit and Revoke High-Risk Read-Only Tokens
- Review all read-only tokens, focusing especially on those associated with users who have broad RBAC permissions
- Revoke tokens as appropriate based on RBAC permissions and known use cases
- Replace revoked tokens with token associated with a user with least privilege permissions for the intended use case
- Apply Least Privilege to User RBAC
- Review RBAC permissions for users who have created OAuth2 tokens
- Remove unnecessary write permissions from users who only need read access
- Remember: scope bypass is limited to the user's RBAC - reducing RBAC reduces risk
- Apply Least Privilege to Credentials
- Review access provided to AAP by any Credentials configured in the platform
- Reduce this access to the minimum required for AAP to perform the desired actions against the system
- Disable MCP Server Write Operations
- If using the technology preview MCP servers, disable write operations in configuration
- By default, the technology preview MCP servers are read-only; ensure this hasn't been changed
The issue is remediated within these available patches:
- Operator csv versions:
- stable-2.6: >= aap-operator.v2.6.0-0.1767630689
- stable-2.6-cluster-scoped: >= aap-operator.v2.6.0-0.1767630627
- stable-2.5: >= aap-operator.v2.5.0-0.1767608979
- stable-2.5-cluster-scoped: >= aap-operator.v2.5.0-0.1767609003
- RPM versions:
- rpm 2.6 errata: https://access.redhat.com/errata/RHSA-2026:0360
- rpm bundle: 2.6-3.2
- rpm 2.5 errata: https://access.redhat.com/errata/RHSA-2026:0361
- rpm bundle: 2.5-20.1
- Containerized versions:
- container 2.6 errata: https://access.redhat.com/errata/RHSA-2026:0408
- containerized bundle: 2.6-4.1
- container 2.5 errata: https://access.redhat.com/errata/RHSA-2026:0409
- containerized bundle: 2.5-21.1
Best Practices (General OAuth2 Token Security)
As with any token security, please ensure to always follow the following best practices when maintaining your external access to Ansible Automation Platform.
Token Creation and Lifecycle:
- Follow Token Scope Least Privilege
- Default to read-only scope unless write operations are explicitly required
- Create separate tokens for different use cases (don't reuse tokens)
- Follow User RBAC Least Privilege
- Create dedicated service accounts with minimal RBAC for token-based integrations
- Don't create tokens from admin/superuser accounts unless absolutely necessary
- Regularly audit and reduce unnecessary RBAC permissions
- Limit Credential Permissions Provided to AAP
- Follow least privilege for all credentials stored in AAP (SSH keys, cloud credentials, etc.)
- AAP can only do what the credentials allow - limit credential permissions to reduce blast radius
- Use separate credentials for different environments (dev/test/prod)
Token Storage and Distribution:
- Secure Token Storage
- Store tokens in secrets managers (Vault, AWS Secrets Manager, etc.), not in code or config files
- Never commit tokens to source control
- Encrypt tokens at rest in integration configurations
Third-Party Integration Specific:
- Evaluate Integration Trust Level
- Before connecting third-party tools/AI agents, assess their security posture
- Use read-only tokens associated with least-privilege users by default for experimental or untrusted integrations
- Be especially cautious with AI-powered tools (MCP servers, chatbot APIs)
- Isolate Integration Accounts
- Create dedicated AAP users for each integration (don't share service accounts)
- Limits RBAC to only resources the integration needs to access
- Enables clear audit trails per integration
- Document Token Purpose and Scope
- Maintain inventory of all OAuth2 tokens including purpose, scope, and owning user
- Set calendar reminders to review tokens quarterly and revoke unused ones
- Establish process for token rotation
Article Type