CVE-2025-12138CVE-2025-12138是WordPress的URL Image Importer插件中存在的一个高危安全漏洞。该漏洞允许具有Author级别及以上权限的认证攻击者上传任意文件到受影响的服务器。由于插件在uimptr_import_image_from_url()函数中依赖用户可控的Content-Type HTTP头来验证文件上传,并且在执行正确验证之前就将文件写入服务器,这为攻击者提供了绕过安全检查的机会。攻击者可以利用此漏洞上传恶意PHP文件,从而在服务器上实现远程代码执行(RCE),完全控制受影响的WordPress站点。该漏洞影响URL Image Importer插件1.0.6及以下所有版本。由于WordPress插件的广泛使用,此漏洞可能影响大量使用该插件的网站,对网站安全构成严重威胁。
漏洞根源在于URL Image Importer插件的uimptr_import_image_from_url()函数中存在不安全的文件上传验证机制。插件使用HTTP请求中的Content-Type头来判断上传文件的类型,但攻击者可以轻易伪造此头部信息。攻击流程如下:首先,攻击者以Author级别或更高权限账户登录WordPress;然后,构造一个带有伪造Content-Type(如image/jpeg)的HTTP请求,但请求体中包含恶意PHP代码;插件接收到请求后,根据伪造的Content-Type认为这是一个合法的图片文件;随后,插件在完成文件类型验证之前就将文件写入服务器的目标目录;最后,攻击者通过访问上传的PHP文件来执行任意代码。漏洞代码位于插件的url-image-importer.php文件第1319、1353、1358和198行附近。修复版本为1.0.7,需要插件开发者加强对文件内容的实际验证,而非依赖客户端提供的Content-Type头。