CVE-2021-20288

7.2 HIGH

📋 TL;DR

This CVE-2021-20288 vulnerability in Ceph allows attackers to reuse authentication keys by exploiting improper sanitization of other_keys during CEPHX_GET_AUTH_SESSION_KEY requests. An attacker who can request a global_id can access keys previously associated with other users, potentially compromising data confidentiality, integrity, and system availability. This affects Ceph storage clusters before version 14.2.20.

💻 Affected Systems

Products:
  • Ceph
Versions: All versions before 14.2.20
Operating Systems: Linux distributions running Ceph
Default Config Vulnerable: ⚠️ Yes
Notes: Affects Ceph clusters with CEPHX authentication enabled. Requires attacker to have some level of access to request global_id.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Complete compromise of Ceph cluster authentication, allowing unauthorized access to all stored data, data manipulation, and potential denial of service through privilege escalation.

🟠

Likely Case

Unauthorized access to sensitive data stored in Ceph clusters, potential data exfiltration or modification by authenticated attackers.

🟢

If Mitigated

Limited impact with proper network segmentation and monitoring, but still presents authentication bypass risk within the Ceph environment.

🌐 Internet-Facing: MEDIUM
🏢 Internal Only: HIGH

🎯 Exploit Status

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

Exploitation requires some authentication access to request global_id, but detailed exploit techniques are not publicly documented.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: 14.2.20 and later

Vendor Advisory: https://bugzilla.redhat.com/show_bug.cgi?id=1938031

Restart Required: Yes

Instructions:

1. Update Ceph to version 14.2.20 or later. 2. Restart Ceph monitor services. 3. Verify all cluster components are running the patched version.

🔧 Temporary Workarounds

Network segmentation

linux

Restrict access to Ceph monitor ports to trusted networks only

iptables -A INPUT -p tcp --dport 6789 -s trusted_network -j ACCEPT
iptables -A INPUT -p tcp --dport 6789 -j DROP

🧯 If You Can't Patch

  • Implement strict network access controls to limit who can communicate with Ceph monitor services
  • Enable detailed authentication logging and monitor for unusual key request patterns

🔍 How to Verify

Check if Vulnerable:

Check Ceph version with 'ceph version' command and verify if it's below 14.2.20

Check Version:

ceph version

Verify Fix Applied:

Run 'ceph version' and confirm version is 14.2.20 or higher, then verify monitor services are running properly

📡 Detection & Monitoring

Log Indicators:

  • Unusual patterns of CEPHX_GET_AUTH_SESSION_KEY requests
  • Multiple authentication attempts from single source with different global_ids
  • Authentication failures followed by successful key reuse

Network Indicators:

  • Excessive authentication requests to monitor port 6789
  • Unusual traffic patterns between clients and Ceph monitors

SIEM Query:

source="ceph.log" AND "CEPHX_GET_AUTH_SESSION_KEY" | stats count by src_ip, global_id

🔗 References

📤 Share & Export