CVE-2025-59471CVE-2025-59471是Next.js框架中一个中等严重程度的拒绝服务漏洞。该漏洞存在于自托管Next.js应用的Image Optimizer(图片优化组件)中,当应用配置了remotePatterns以允许从外部域名加载图片时,攻击者可以利用此漏洞通过请求优化任意大型外部图片,使服务器内存被耗尽,从而导致应用崩溃或服务不可用。漏洞的CVSS评分为5.9(中等),攻击复杂度低,无需认证和用户交互即可发起攻击。该漏洞影响所有在Next.js中配置了remotePatterns且启用了图片优化端点(/_next/image)的自托管部署实例。漏洞已被官方确认为GHSA-9g9p-9gw9-jx7f,强烈建议受影响的用户升级至15.5.10或16.1.5版本以消除风险。
Next.js的Image Optimizer组件通过/_next/image端点提供图片优化服务。当开发者配置了remotePatterns以允许从外部域名获取图片时,该端点会从远程URL下载原始图片进行处理和优化。问题在于,该端点在将外部图片加载到内存中进行处理时,并未对图片大小设置上限或进行有效限制。攻击者只需在已授权的外部域名上托管一个超大图片文件(如数GB的巨型图片),然后构造针对/_next/image端点的请求,传递该超大图片的URL作为参数。由于图片会被完整加载至服务器内存中,多次或并发的此类请求将迅速耗尽服务器内存资源,导致Out-Of-Memory(OOM)错误,进而引发Next.js应用进程崩溃,造成服务中断。此漏洞的利用前提是remotePatterns配置允许攻击者控制的域名,且目标服务器具有足够的网络访问能力去拉取外部图片。修复后的版本(15.5.10和16.1.5)在图片加载流程中引入了最大尺寸限制,从而防止无限制的内存消耗。