| Title | https://github.com/jeecgboot/JeecgBoot <=3.91 SQL Injection |
|---|
| Description | JeecgBoot versions up to and including 3.9.1 contain a SQL injection vulnerability in the /sys/dict/loadTreeData API endpoint. The condition parameter accepts a JSON object, and the special key _tableFilterSql within that JSON object is injected directly into a MyBatis dynamic SQL statement using a ${} placeholder (string interpolation), with no sanitization, blacklist filtering, or parameterized binding applied.
An authenticated attacker with a valid JWT token (obtainable via normal user login) can craft a malicious condition._tableFilterSql value containing a UNION SELECT payload to extract arbitrary data from the database. Query results are returned directly in the JSON response body in plaintext. |
|---|
| Source | ⚠️ https://github.com/jeecgboot/JeecgBoot/issues/9571 |
|---|
| User | JD Security SHENYI Team (UID 97436) |
|---|
| Submission | 04/20/2026 14:16 (3 months ago) |
|---|
| Moderation | 05/07/2026 18:37 (17 days later) |
|---|
| Status | Accepted |
|---|
| VulDB entry | 361902 [JeecgBoot up to 3.9.1 JSON Object /sys/dict/loadTreeData condition sql injection] |
|---|
| Points | 20 |
|---|