CVE-2025-68437CVE-2025-68437是Craft CMS中一个严重的服务器端请求伪造(SSRF)漏洞。该漏洞存在于Craft CMS的GraphQL API中,具体位于save_<VolumeName>_Asset mutations(资产保存操作)功能模块。Craft CMS是一款广泛使用的PHP内容管理系统,为用户提供创建数字体验的平台。该漏洞影响范围覆盖Craft CMS 5.0.0-RC1至5.8.20版本以及4.0.0-RC1至4.16.16版本。攻击者可以通过构造恶意的GraphQL请求,利用_file输入参数中的url字段,迫使服务器向任意指定的目标地址发起HTTP请求。由于GraphQL API通常部署在企业内部网络或云环境中,攻击者可以利用此漏洞访问内部服务、云元数据端点(如AWS 169.254.169.254)、内网API等敏感资源。获取的内容会被保存为系统资产文件,攻击者随后可以访问这些文件并窃取敏感数据。该漏洞的利用需要攻击者具备特定GraphQL权限,能够对目标Volume进行资产管理操作。建议受影响的用户立即升级到5.8.21或4.16.17版本以修复此安全问题。
Craft CMS的GraphQL API在处理save_<VolumeName>_Asset mutation时存在输入验证不足的问题。当用户提交_asset请求时,系统会处理_file输入对象中的url参数。问题在于该url参数缺乏充分的URL验证机制,允许攻击者指定任意URL地址(包括内部IP地址、localhost、云服务元数据端点等)。服务器端代码在接收到包含url参数的请求后,会直接使用PHP的file_get_contents、curl或其他HTTP客户端函数发起网络请求,获取远程资源内容。随后,系统将获取到的内容作为文件资产保存到指定Volume中。攻击者可以通过构造如下类型的请求来利用此漏洞:指定url为http://169.254.169.254/latest/meta-data/来获取AWS EC2实例元数据,或指定为http://127.0.0.1:port/internal-api来访问本地内部服务。由于服务器通常具有访问内部网络的权限,攻击者可以绕过网络边界防护直接访问受限资源。修复后的版本(5.8.21和4.16.17)在url参数处理逻辑中添加了URL白名单验证和域名/协议限制,防止服务器向不可信的地址发起请求。