CVE-2012-1572

7.5 HIGH

📋 TL;DR

CVE-2012-1572 is a denial-of-service vulnerability in OpenStack Keystone where extremely long passwords can crash the service by exhausting stack space. This affects OpenStack deployments using Keystone for identity management. Attackers can cause service disruption by submitting authentication requests with excessively long password parameters.

💻 Affected Systems

Products:
  • OpenStack Keystone
Versions: Versions prior to 2012.1.2
Operating Systems: All operating systems running OpenStack Keystone
Default Config Vulnerable: ⚠️ Yes
Notes: All default Keystone configurations are vulnerable if running affected versions. The vulnerability is in the password validation logic.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Complete Keystone service crash leading to authentication failure across entire OpenStack deployment, disrupting all cloud operations.

🟠

Likely Case

Temporary service disruption requiring manual restart of Keystone components, causing authentication timeouts for users.

🟢

If Mitigated

Minimal impact with proper input validation and monitoring in place to detect and block malicious requests.

🌐 Internet-Facing: MEDIUM - Keystone authentication endpoints are typically exposed to users, but exploitation requires specific knowledge of the vulnerability.
🏢 Internal Only: LOW - Most OpenStack deployments have Keystone on internal networks, reducing exposure to external attackers.

🎯 Exploit Status

Public PoC: ⚠️ Yes
Weaponized: LIKELY
Unauthenticated Exploit: ✅ No
Complexity: LOW

Exploitation requires sending authentication requests with extremely long password strings. No authentication needed beyond standard API access.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: OpenStack Keystone 2012.1.2 and later

Vendor Advisory: https://security.openstack.org/ossa/OSSA-2012-001.html

Restart Required: Yes

Instructions:

1. Update Keystone to version 2012.1.2 or later. 2. Restart Keystone services. 3. Verify the fix by checking Keystone version and testing with long password inputs.

🔧 Temporary Workarounds

Input Length Limiting

all

Configure web server or application firewall to limit password field length in authentication requests

# Example for Apache mod_security: SecRule ARGS:password "@gt 1024" "deny,status:400"

Rate Limiting

linux

Implement rate limiting on authentication endpoints to prevent repeated exploitation attempts

# Example using Keystone's rate limiting: [filter:ratelimit] paste.filter_factory = keystone.middleware:RateLimitMiddleware.factory

🧯 If You Can't Patch

  • Implement network-level controls to restrict access to Keystone endpoints to trusted sources only
  • Deploy web application firewall with rules to detect and block excessively long password parameters

🔍 How to Verify

Check if Vulnerable:

Check Keystone version: keystone-manage --version. If version is earlier than 2012.1.2, system is vulnerable.

Check Version:

keystone-manage --version

Verify Fix Applied:

After patching, test authentication with a long password (e.g., 10,000 characters) and verify service remains responsive.

📡 Detection & Monitoring

Log Indicators:

  • Keystone service crashes or restarts in logs
  • Authentication failures with unusually long request sizes in access logs

Network Indicators:

  • Multiple authentication requests with abnormally large payload sizes
  • Increased HTTP 400/500 responses from Keystone endpoints

SIEM Query:

source="keystone.log" AND ("crash" OR "restart" OR "segmentation fault") OR http_request_size > 10000

🔗 References

📤 Share & Export