JeecgBoot SQL Injection Vulnerability in Dictionary Lookup Endpoint

Vulnerability

A SQL injection vulnerability has been identified in JeecgBoot versions through 3.9.1. The issue resides in the 'loadDict' endpoint of the 'SqlInjectionUtil' class, where the 'keyword' parameter is improperly sanitized before being concatenated into a SQL 'LIKE' clause. This flaw allows authenticated users to inject SQL logic and potentially access sensitive data from the database.

Impact

Exploitation of this vulnerability allows authenticated low-privileged users to perform blind SQL injection through the 'loadDict' endpoint. This could lead to unauthorized access to sensitive information, such as password hashes, from the 'sys_user' table.

Reproduction

To reproduce this vulnerability, authenticate as a low-privileged user and obtain a valid access token. Then, send a signed GET request to '/sys/dict/loadDict/{dictCode}' with an injected boolean expression in the 'keyword' parameter. The response will indicate whether the injected condition was true or false, allowing for SQL injection exploitation.

Remediation

The vulnerability has been fixed in version 3.9.2. Users are advised to update to this version.

Added: Apr 28, 2026, 8:03 PM
Updated: Apr 28, 2026, 8:03 PM

Vulnerability Rating

Custom Algorithm
spread
0.8
impact
3.1
exploitability
6.6
remediation
7.7
relevance
6.9
threat
6.4
urgency
2.9
incentive
0.0

Our algorithm analyzes dozens of metrics to generate these 8 key vulnerability categories, which are then combined to calculate the overall risk score.