Skip to main content

JeecgBoot EUVDEUVD-2026-103470

| CVE-2026-112017 HIGH
SQL Injection (CWE-89)
2026-10-18 VulnCheck GHSA-j5cg-5m27-jqf8
7.1
CVSS 4.0 · Vendor: VulnCheck
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Authenticate with low-privilege account
  2. Delivery
    Send newline-split payload to /sys/dict/getDictItems
  3. Exploit
    Bypass SqlInjectionUtil keyword blocklist
  4. Execution
    Run blind boolean/time-based injection
  5. Impact
    Extract sys_user admin password hashes

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V1 - Encoding and Sanitization Parameterized queries, prepared statements
MITRE ATT&CK

2 techniques across 2 tactics: Initial Access, Persistence

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

Requires an authenticated session with at least a low-privilege JeecgBoot account (CVSS PR:L) that can reach the dictionary and online-report query endpoints such as /sys/dict/getDictItems. The specific technical precondition is that SqlInjectionUtil's keyword blocklist (as implemented through v3.9.2) can be evaded by inserting newline characters into user-supplied SQL fragments, so exploitation depends on running an unpatched version before 3.9.5. No special non-default product configuration or user interaction is needed, but the authentication requirement is the primary limiting factor and patched (≥3.9.5) instances are not exploitable.

Impact

This is a credible mid-tier priority rather than a drop-everything emergency, and the available signals are internally consistent. The CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:L/UI:N) describes a network-reachable, low-complexity injection that requires an authenticated low-privilege account (PR:L), and the impact is confined to confidentiality (VC:H / VI:N / VA:N) - consistent with a read-only blind SQL injection that extracts data such as sys_user password hashes but does not inherently modify or destroy data. No EPSS score, CISA KEV listing, SSVC decision, or public POC was provided in the input, so there is no evidence of active or automatable exploitation at this time; the finding was reported by VulnCheck (a credible research source) and a vendor patch exists in v3.9.5. The main risk amplifier is that the required privilege is low - many JeecgBoot deployments issue ordinary user accounts, and the affected endpoints (e.g. /sys/dict/getDictItems) are broadly reachable - so an attacker who obtains or registers any authenticated session could pivot to extracting administrator credentials and escalating. No key signals appear to conflict; the main gap is the absence of exploitation-probability data (EPSS/KEV/POC), which should be treated as 'unknown' rather than 'low'.

Exploit ScenarioDerived

An attacker with any valid low-privilege JeecgBoot account sends a request to a dictionary or online-report endpoint such as /sys/dict/getDictItems, embedding newline characters in the SQL fragment to split blocklisted keywords and slip past the SqlInjectionUtil filter. Using boolean- or time-based blind techniques, they iteratively extract database contents, ultimately dumping administrator password hashes from sys_user for offline cracking and privilege escalation. No public exploit code was identified in the provided data, but the vendor advisory and patch commit document the mechanism precisely.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
Patch available 0.3% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Oct 18, 2026

SQL injection in JeecgBoot before 3.9.5 allows authenticated low-privilege users to bypass the SqlInjectionUtil keyword blocklist by inserting newline characters into dictionary and online report SQL fragments, then send newline-separated payloads to endpoints such as /sys/dict/getDictItems to perform boolean- or time-based blind extraction of database contents, including administrator password hashes from sys_user. The assessed CVSS 3.1 vector is AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N, so the primary precondition is an authenticated session rather than user interaction or a non-default configuration. Vendor-released patch: 3.9.5; no public exploit identified at time of analysis and no CISA KEV entry was provided.

RemediationAI

Upgrade to JeecgBoot 3.9.5 or later; the vendor fix is in release v3.9.5 and commit a2be896f753936956ee6863b632b8e5a0231345c, referenced at https://github.com/jeecgboot/JeecgBoot/releases/tag/v3.9.5 and https://github.com/jeecgboot/JeecgBoot/commit/a2be896f753936956ee6863b632b8e5a0231345c. Until upgrade, restrict access to /sys/dict/getDictItems and online report query endpoints to only trusted, least-privileged accounts and monitor for newline or control-character injection attempts in SQL fragment parameters; this reduces exposure but breaks legitimate dictionary and report functionality for untrusted users. Add server-side rejection or normalization of newline and other control characters in user-supplied SQL fragments and replace blocklist checks with parameterized queries or strict allowlisting, since WAF signatures are an interim control that can miss blind payloads and may generate false positives. If exploitation is suspected, rotate sys_user credentials and password hashes and review database logs because the injection can expose administrator password hashes.

Affected VersionsENISA

JeecgBoot 0 <3.9.5

Affected Packages

euvd jeecgboot fix: 3.9.5

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

JeecgBoot is a Java/Spring Boot low-code development platform whose dictionary and online report features build SQL from user-supplied fragments. The root cause is CWE-89: the application relies on SqlInjectionUtil keyword blocklisting, as shown in the referenced v3.9.2 source at lines 269-305, instead of parameterized queries or strict allowlisting; inserting newline characters lets an attacker evade keyword matching while preserving SQL syntax accepted by the backend. Successful payloads can drive boolean- or time-based blind inference through /sys/dict/getDictItems and related report endpoints, exposing data readable by the application's database account, including sys_user password hashes. The assessed CVSS 3.1 vector AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N reflects remote reachability, low-privilege authentication, no user interaction, and confidentiality-only impact.

Know when Jeecgboot gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (VulnCheck) PRIMARY 7.1 HIGH
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N
vuln.today AI 6.5 MEDIUM

Network-reachable endpoint with low complexity and a required low-privilege account gives AV:N/AC:L/PR:L/UI:N; read-only blind extraction of password hashes yields C:H with I:N/A:N and no scope change.

3.1 AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N
4.0 AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N

Primary rating from Vendor (VulnCheck).

CVSS VectorVendor: VulnCheck

Attack Vector
Network
Attack Complexity
Low
Attack Requirements
None
Privileges Required
Low
User Interaction
None
Vulnerable system: Confidentiality
High
Vulnerable system: Integrity
None
Vulnerable system: Availability
None
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

DescriptionCVE.org

JeecgBoot before 3.9.5 contains an sql injection vulnerability that allows authenticated attackers to bypass the SqlInjectionUtil keyword blocklist by inserting newline characters into dictionary and online report SQL fragments. Attackers can send newline-separated payloads to endpoints like /sys/dict/getDictItems for boolean or time-based blind injection, extracting database contents including administrator password hashes from sys_user.

Executive ViewAI

Why It Matters

JeecgBoot deployments before 3.9.5 allow any authenticated low-privilege user to extract sensitive database contents, including administrator password hashes, through newline-obfuscated SQL injection in dictionary and online report features. Because only a standard user account is required, internal staff or compromised low-privilege accounts could escalate to full administrative compromise and expose credential material that may be reused across systems. Leadership should treat this as a credential-exposure risk affecting the integrity of access control across the organization.

Business Impact: High
Compensating Controls

Apply vendor patch.

Threat Intelligence Overview

EPSS Score
0.3%
Top 81% exploitable
Prevalence
Medium
popular open-source Java low-code platform, largely China-centric enterprise deployments
Data Quality
5 sources
Confidence: Medium

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity HIGH
CISA KEV No
Public POC No
EPSS 0.3%
Patch available Yes
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Scheduled
Exploitation· derived
None
System Exposure· derived
Open
Automatable· derived
No
Human Impact
High

Priority Score

36
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +36
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

SQL injection exploits the way applications construct database queries by mixing user input directly into SQL statements.

CVE-2026-58375 HIGH POC
8.7 Jun 30

Unauthenticated report data exfiltration in JimuReport (JeecgBoot) through version 2.5.0 lets remote attackers export th

CVE-2026-58377 HIGH POC
8.6 Jun 30

Broken access control in JeecgBoot through 3.9.2 lets authenticated low-privilege users reach the OpenApiAuthController

CVE-2026-108657 HIGH POC
8.6 Oct 10

Privilege escalation in JeecgBoot through 3.9.5 lets any authenticated user approve their own pending tenant administrat

CVE-2026-108628 HIGH POC
8.6 Oct 10

Missing authorization in the saveDeptRolePermission endpoint of JeecgBoot's SysDepartPermissionController lets any authe

CVE-2024-57606 HIGH POC
7.5 Feb 07

SQL injection vulnerability in Beijing Guoju Information Technology Co., Ltd JeecgBoot v.3.7.2 allows a remote attacker

CVE-2023-34603 HIGH POC
7.5 Jun 19

JeecgBoot up to v 3.5.1 was discovered to contain a SQL injection vulnerability via the component queryFilterTableDictIn

CVE-2023-34602 HIGH POC
7.5 Jun 19

JeecgBoot up to v 3.5.1 was discovered to contain a SQL injection vulnerability via the component queryTableDictItemsByC

CVE-2026-108623 HIGH POC
7.1 Oct 10

JeecgBoot through 3.9.5 ships a system log controller whose batch-delete handler performs no authorization check, so any

CVE-2026-108648 HIGH POC
7.1 Oct 10

Database credential disclosure in JeecgBoot through 3.9.5 allows any authenticated low-privileged user to retrieve JDBC

CVE-2026-108671 HIGH POC
7.1 Oct 10

Missing authorization in JeecgBoot through 3.9.5 lets any authenticated user enumerate record IDs through the unguarded

CVE-2026-108677 HIGH POC
7.1 Oct 10

Authenticated low-privileged users of JeecgBoot through 3.9.5 can retrieve any other user's stored password ciphertext t

CVE-2026-108883 HIGH POC
7.1 Oct 11

Authenticated users of any privilege level on JeecgBoot through 3.9.5 can rewrite DingTalk, WeCom, or Feishu third-party

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy