JeecgBoot SQL Injection Vulnerability in getDictItems API Function

Vulnerability

A SQL injection vulnerability has been identified in JeecgBoot versions 3.9.0 and 3.9.1. The issue arises in the 'isExistSqlInjectKeyword' function within the '/jeecg-boot/sys/api/getDictItems' file. This vulnerability allows remote attackers to manipulate input and execute arbitrary SQL queries. The problem is caused by a misconfigured regular expression in the Web Application Firewall (WAF) that fails to properly sanitize input, enabling the bypass of SQL injection detection mechanisms.

Impact

Exploitation of this vulnerability allows for arbitrary SQL injection, where an attacker can manipulate SQL queries to the database. This could lead to unauthorized data access, data manipulation, or in some cases, executing administrative operations on the database.

Reproduction

To reproduce this vulnerability, send a GET request to the '/jeecg-boot/sys/api/getDictItems' endpoint. Include a 'dictCode' parameter that bypasses the WAF's SQL injection keyword filtering. The WAF's validation logic can be exploited by using SQL keywords in a way that the regular expression checks do not properly sanitize or validate the input, such as using parentheses or certain characters that the WAF allows.

Added: Mar 7, 2026, 10:18 PM
Updated: Mar 7, 2026, 10:18 PM

Vulnerability Rating

Custom Algorithm
spread
0.8
impact
2.5
exploitability
9.5
remediation
7.7
relevance
3.8
threat
6.4
urgency
2.9
incentive
8.3

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