CVE-2025-14082

2.7 LOW

📋 TL;DR

This vulnerability in Keycloak Admin REST API allows unauthorized users to access sensitive role metadata due to insufficient authorization checks. It affects Keycloak deployments where the Admin REST API is exposed. Attackers can potentially discover role structures and permissions they shouldn't have access to.

💻 Affected Systems

Products:
  • Keycloak
Versions: Keycloak 25 and earlier versions
Operating Systems: All
Default Config Vulnerable: ⚠️ Yes
Notes: Only affects deployments where the Admin REST API endpoint is accessible to users who shouldn't have access to role metadata.

⚠️ 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.

Recommended Actions:
  1. Review the CVE details at NVD
  2. Check vendor security advisories for your specific version
  3. Test if the vulnerability is exploitable in your environment
  4. Consider updating to the latest version as a precaution

⚠️ Risk & Real-World Impact

🔴

Worst Case

Attackers could map the entire role hierarchy, discover administrative roles, and use this information for privilege escalation attacks or to understand the organization's security structure.

🟠

Likely Case

Unauthorized users accessing role metadata that reveals organizational structure, permission mappings, or sensitive role names that could aid in further attacks.

🟢

If Mitigated

Limited information disclosure with no direct path to privilege escalation if proper network segmentation and authentication controls are in place.

🌐 Internet-Facing: MEDIUM
🏢 Internal Only: LOW

🎯 Exploit Status

Public PoC: ✅ No
Weaponized: UNKNOWN
Unauthenticated Exploit: ✅ No
Complexity: LOW

Exploitation requires access to the Admin REST API endpoint but doesn't require authentication for the specific role metadata endpoint.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: Keycloak 25.0.1 or later

Vendor Advisory: https://access.redhat.com/security/cve/CVE-2025-14082

Restart Required: Yes

Instructions:

1. Backup your Keycloak configuration and database. 2. Download Keycloak 25.0.1 or later from the official website. 3. Stop the Keycloak service. 4. Replace the installation with the patched version. 5. Restart the Keycloak service. 6. Verify the fix by testing the vulnerable endpoint.

🔧 Temporary Workarounds

Network Access Restriction

linux

Restrict network access to the Admin REST API endpoint to only authorized administrative networks or IP addresses.

# Use firewall rules to restrict access to port 8080/8443 (or your configured admin port)
iptables -A INPUT -p tcp --dport 8080 -s 10.0.0.0/24 -j ACCEPT
iptables -A INPUT -p tcp --dport 8080 -j DROP

Reverse Proxy Configuration

all

Configure reverse proxy (nginx/apache) to block access to /admin/realms/*/roles endpoint for non-admin users.

# nginx example configuration
location ~ ^/admin/realms/[^/]+/roles$ {
    deny all;
    # Or use: allow 10.0.0.0/24; deny all;
}

🧯 If You Can't Patch

  • Implement strict network segmentation to isolate the Admin REST API from untrusted networks
  • Deploy a Web Application Firewall (WAF) with rules to block unauthorized access to the vulnerable endpoint

🔍 How to Verify

Check if Vulnerable:

Attempt to access /admin/realms/{realm}/roles endpoint with a non-admin user. If role metadata is returned without proper authorization, the system is vulnerable.

Check Version:

Check the Keycloak server logs during startup or use: curl -s http://localhost:8080/auth/realms/master/.well-known/openid-configuration | grep -o '"version":"[^"]*"'

Verify Fix Applied:

After patching, attempt the same access with a non-admin user. The request should be properly rejected with appropriate authorization error.

📡 Detection & Monitoring

Log Indicators:

  • Multiple 200 OK responses to /admin/realms/*/roles from non-admin users
  • Unusual access patterns to role metadata endpoints

Network Indicators:

  • HTTP GET requests to /admin/realms/{realm}/roles from unauthorized IP addresses

SIEM Query:

source="keycloak-access.log" AND (uri_path="/admin/realms/*/roles" OR uri_path="/auth/admin/realms/*/roles") AND status=200 AND NOT (user="admin" OR src_ip IN allowed_admin_ips)

🔗 References

📤 Share & Export