CVE-2026-7290
SQL Injection in JeecgBoot loadDict Endpoint Enables Remote Attack
Publication date: 2026-04-28
Last updated on: 2026-04-29
Assigner: VulDB
Description
Description
CVSS Scores
EPSS Scores
| Probability: | |
| Percentile: |
Meta Information
Affected Vendors & Products
| Vendor | Product | Version / Range |
|---|---|---|
| jeecg | jeecgboot | to 3.9.1 (inc) |
Helpful Resources
Exploitability
| CWE ID | Description |
|---|---|
| CWE-74 | The product constructs all or part of a command, data structure, or record using externally-influenced input from an upstream component, but it does not neutralize or incorrectly neutralizes special elements that could modify how it is parsed or interpreted when it is sent to a downstream component. |
| CWE-89 | The product constructs all or part of an SQL command using externally-influenced input from an upstream component, but it does not neutralize or incorrectly neutralizes special elements that could modify the intended SQL command when it is sent to a downstream component. Without sufficient removal or quoting of SQL syntax in user-controllable inputs, the generated SQL query can cause those inputs to be interpreted as SQL instead of ordinary user data. |
Attack-Flow Graph
AI Powered Q&A
How does this vulnerability affect compliance with common standards and regulations (like GDPR, HIPAA)?:
The vulnerability allows any authenticated user to perform blind SQL injection attacks to extract sensitive internal data, including credential material such as passwords and salts from the sys_user table.
This unauthorized access to sensitive personal and authentication data can lead to data breaches, which may violate data protection regulations like GDPR and HIPAA that require protection of personal and sensitive information.
The vulnerability undermines the trust boundary of internal user data, increasing the risk of account compromise, targeted phishing, user enumeration, and broader data leaks, all of which can have serious compliance implications.
Therefore, until patched, systems using affected versions of JeecgBoot may be non-compliant with standards mandating secure handling and protection of sensitive data.
What immediate steps should I take to mitigate this vulnerability?
To mitigate this vulnerability, it is recommended to deploy the patch identified by commit a9c8e8eb1185751c4c3c68d2a53f3dadee9edc6b.
Since the vulnerability affects the SqlInjectionUtil function in JeecgBoot up to version 3.9.1, updating to a patched version or applying the patch will help prevent SQL injection attacks.
Can you explain this vulnerability to me?
This vulnerability exists in JeecgBoot up to version 3.9.1, specifically in the SqlInjectionUtil function within the loadDict Endpoint. It involves manipulation of the argument 'keyword' which leads to SQL injection, allowing an attacker to execute unauthorized SQL commands remotely.
How can this vulnerability impact me? :
The vulnerability can allow a remote attacker to perform SQL injection attacks, potentially leading to unauthorized access, modification, or deletion of data. This can compromise the confidentiality, integrity, and availability of the affected system.
How can this vulnerability be detected on my network or system? Can you suggest some commands?
This vulnerability can be detected by monitoring and testing the `/sys/dict/loadDict/{dictCode}` endpoint of JeecgBoot for SQL injection attempts via the `keyword` parameter. Since the vulnerability involves blind SQL injection, detection involves sending crafted payloads that include SQL boolean expressions or special characters such as single quotes, boolean operators (and, or), or SQL functions (substring) in the `keyword` parameter and observing the response behavior.
Suggested detection commands include sending HTTP GET requests with suspicious `keyword` values to the vulnerable endpoint and analyzing the responses for differences indicating SQL injection. For example, using curl:
- curl -i -H "Authorization: Bearer <JWT_TOKEN>" "http://<target>/sys/dict/loadDict/sys_user?keyword=' and substring(password,1,1)='c' and username like '"
- curl -i -H "Authorization: Bearer <JWT_TOKEN>" "http://<target>/sys/dict/loadDict/sys_user?keyword=' or 1=1 -- "
Replace `<JWT_TOKEN>` with a valid JWT token for an authenticated user. Differences in response content or status codes can indicate successful injection and thus presence of the vulnerability.
Additionally, network intrusion detection systems (NIDS) or web application firewalls (WAFs) can be configured to detect suspicious SQL keywords or patterns in requests to this endpoint, such as presence of single quotes, boolean operators, or SQL functions in the `keyword` parameter.