CVE-2024-11483
📋 TL;DR
This vulnerability in Ansible Automation Platform allows attackers with read-only OAuth2 tokens to escalate privileges and gain write access to API endpoints. It affects systems using ansible_base.oauth2_provider for OAuth2 authentication. While limited to the user's assigned permission scope, it undermines access controls and could lead to unauthorized modifications.
💻 Affected Systems
- Ansible Automation Platform
- django-ansible-base
⚠️ Manual Verification Required
This CVE does not have specific version information in our database, so automatic vulnerability detection cannot determine if your system is affected.
Why? The CVE database entry doesn't specify which versions are vulnerable (no version ranges provided by the vendor/NVD).
🔒 Custom verification scripts are available for registered users. Sign up free to download automated test scripts.
- Review the CVE details at NVD
- Check vendor security advisories for your specific version
- Test if the vulnerability is exploitable in your environment
- Consider updating to the latest version as a precaution
⚠️ Risk & Real-World Impact
Worst Case
Attackers with read-only access could modify configurations, deploy unauthorized automation, or disrupt operations within their permission scope.
Likely Case
Users with legitimate read access could unintentionally or maliciously perform write operations they shouldn't be authorized for.
If Mitigated
With proper network segmentation and minimal user permissions, impact would be limited to specific API endpoints within the user's scope.
🎯 Exploit Status
Exploitation requires a valid OAuth2 token with read scope and knowledge of API endpoints. The vulnerability is in the authentication mechanism itself.
🛠️ Fix & Mitigation
✅ Official Fix
Patch Version: Ansible Automation Platform 2.4.8, 2.5.4, or later; django-ansible-base 1.2.0 or later
Vendor Advisory: https://access.redhat.com/errata/RHSA-2024:11145
Restart Required: Yes
Instructions:
1. Update to Ansible Automation Platform 2.4.8, 2.5.4, or later. 2. Alternatively, update django-ansible-base to version 1.2.0 or later. 3. Restart affected services. 4. Regenerate OAuth2 tokens if necessary.
🔧 Temporary Workarounds
Restrict API Access
linuxLimit network access to API endpoints to trusted sources only
# Use firewall rules to restrict access
iptables -A INPUT -p tcp --dport <api_port> -s <trusted_network> -j ACCEPT
iptables -A INPUT -p tcp --dport <api_port> -j DROP
Minimize User Permissions
allApply principle of least privilege to all user accounts
# Review and reduce user permissions
ansible automation-platform user list
ansible automation-platform user modify --username <user> --permissions <minimal_set>
🧯 If You Can't Patch
- Implement strict network segmentation to isolate Ansible Automation Platform from critical systems
- Monitor API logs for unusual write operations from users with read-only permissions
🔍 How to Verify
Check if Vulnerable:
Check Ansible Automation Platform version: ansible automation-platform version. Check django-ansible-base version: pip show django-ansible-base | grep Version
Check Version:
ansible automation-platform version && pip show django-ansible-base | grep Version
Verify Fix Applied:
Verify version is 2.4.8/2.5.4 or later for AAP, or 1.2.0 or later for django-ansible-base. Test that read-scoped tokens cannot perform write operations.
📡 Detection & Monitoring
Log Indicators:
- Write operations from users with read-only permissions
- API requests with read-scoped tokens performing POST/PUT/DELETE operations
- Authentication failures followed by successful write operations
Network Indicators:
- Unusual API call patterns from single users
- Read-scoped tokens being used for write operations
SIEM Query:
source="ansible_api" (http_method="POST" OR http_method="PUT" OR http_method="DELETE") AND token_scope="read"