CVE-2023-38905
Description
SQL injection vulnerability in Jeecg-boot v.3.5.0 and before allows a local attacker to cause a denial of service via the Benchmark, PG_Sleep, DBMS_Lock.Sleep, Waitfor, DECODE, and DBMS_PIPE.RECEIVE_MESSAGE functions.
AI Insight
LLM-synthesized narrative grounded in this CVE's description and references.
JeecgBoot ≤3.5.0 is vulnerable to time-based blind SQL injection via the /sys/duplicate/check endpoint, allowing attackers to extract data or cause denial of service.
Vulnerability
Overview
CVE-2023-38905 is a time-based blind SQL injection vulnerability found in JeecgBoot versions 3.5.0 and earlier. The flaw resides in the /sys/duplicate/check API endpoint, which fails to properly sanitize user-supplied input passed through the checksql parameter. Attackers can bypass security filters by using URL-encoded whitespace characters such as %09 to inject SQL payloads that include functions like sleep(), Benchmark, PG_Sleep, DBMS_Lock.Sleep, Waitfor, DECODE, and DBMS_PIPE.RECEIVE_MESSAGE [1][2][4].
Exploitation
Method
The attack requires no authentication? the provided reference shows that an attacker can send a crafted GET request with a valid X_ACCESS_TOKEN (obtainable through normal login) to the vulnerable endpoint. By manipulating the fieldName parameter with a time-delay payload such as if(user()='root@localhost',sleep(0),sleep(0)), the attacker can observe response delays to infer information bit by bit, confirming successful injection when the server pauses for the specified sleep duration [2][4].
Impact
Successful exploitation allows a remote attacker to perform time-based blind SQL injection, potentially extracting sensitive data from the database (e.g., user credentials, application secrets) or causing a denial of service through heavy queries using Benchmark or similar functions. The vulnerability is classified as critical due to its low complexity and the ability to compromise data integrity and confidentiality [3].
Mitigation
The JeecgBoot project maintainers have acknowledged the issue and provided a fix referenced in GitHub issue #4737 [2][4]. Users are strongly advised to upgrade to a patched version (post-3.5.0) or apply the recommended input validation and parameterized query changes to the /sys/duplicate/check endpoint. As of the latest available information, no public exploit code has been released, but the vulnerability details are publicly known [1][4].
- GitHub - jeecgboot/JeecgBoot: AI 低代码平台,「低代码 + 零代码」双模式驱动:低代码一键生成前后端代码,零代码 5 分钟搭建系统,AI Skills 一句话画流程、设计表单、生成整套系统。内置 AI聊天、知识库、流程编排、MCP插件等,兼容主流大模型。引领「AI 生成 → 在线配置 → 代码生成 → 手工合并->AI修改」开发模式,消除 Java 项目 80% 的重复工作,提效而不失灵活。
- CVE-2023-38905 Description
- NVD - CVE-2023-38905
- [CVE-2023-38905] sys/duplicate/check SQL注入
AI Insight generated on May 20, 2026. Synthesized from this CVE's description and the cited reference URLs; citations are validated against the source bundle.
Affected packages
Versions sourced from the GitHub Security Advisory.
| Package | Affected versions | Patched versions |
|---|---|---|
org.jeecgframework.boot:jeecg-boot-parentMaven | <= 3.5.0 | — |
Affected products
2- Jeecg-boot/Jeecg-bootdescription
Patches
0No patches discovered yet.
Vulnerability mechanics
AI mechanics synthesis has not run for this CVE yet.
References
4News mentions
0No linked articles in our index yet.