CVE-2024-47866
📋 TL;DR
This vulnerability in Ceph's RGW (RADOS Gateway) allows attackers to cause a denial-of-service by sending a specific S3 API request with an empty string in the x-amz-copy-source header. All Ceph deployments using RGW up to version 19.2.3 are affected, potentially disrupting object storage services.
💻 Affected Systems
- Ceph RADOS Gateway (RGW)
📦 What is this software?
Ceph by Redhat
⚠️ Risk & Real-World Impact
Worst Case
Complete unavailability of RGW services across the Ceph cluster, disrupting all object storage operations until daemons are manually restarted.
Likely Case
Intermittent RGW daemon crashes affecting availability of object storage services, requiring manual intervention to restore functionality.
If Mitigated
Minimal impact if RGW services are behind load balancers with health checks and automatic restart capabilities.
🎯 Exploit Status
Exploitation requires only a single HTTP request with specific headers, making it trivial to weaponize once details are understood.
🛠️ Fix & Mitigation
✅ Official Fix
Patch Version: Not yet available
Vendor Advisory: https://github.com/ceph/ceph/security/advisories/GHSA-mgrm-g92q-f8h8
Restart Required: Yes
Instructions:
1. Monitor Ceph security advisories for patch release
2. Apply patch when available
3. Restart RGW daemons after patching
🔧 Temporary Workarounds
API Gateway Filtering
allConfigure API gateway or load balancer to filter requests containing x-amz-copy-source header with empty string value
RGW Process Monitoring
linuxImplement automatic restart of RGW daemons when crashes are detected
systemctl enable ceph-radosgw@rgw.$(hostname -s).service
systemctl start ceph-radosgw@rgw.$(hostname -s).service
🧯 If You Can't Patch
- Implement network-level filtering to block malicious requests at load balancer or firewall
- Deploy RGW behind reverse proxy with request validation and rate limiting
🔍 How to Verify
Check if Vulnerable:
Check Ceph version: ceph version | grep 'ceph version' and verify if version is 19.2.3 or earlier
Check Version:
ceph version
Verify Fix Applied:
After patch is released, verify version is greater than 19.2.3 and test with crafted request containing empty x-amz-copy-source header
📡 Detection & Monitoring
Log Indicators:
- RGW daemon crash logs in /var/log/ceph/
- Segmentation fault errors in system logs
- Increased RGW process restarts
Network Indicators:
- HTTP requests with x-amz-copy-source: "" header
- Sudden drop in RGW service availability
SIEM Query:
source="ceph.logs" AND ("segmentation fault" OR "rgw crash" OR "SIGSEGV")