Skip to main content

JeecgBoot CVE-2025-15121

MEDIUM
Information Exposure (CWE-200)
2025-12-28 cna@vuldb.com
4.8
CVSS 4.0 · Vendor: vuldb
View

Attack ChainAIDerived

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

  1. Access
    Obtain authenticated JeecgBoot access
  2. Exploit
    Call getDeptRoleByUserId endpoint
  3. Execution
    Manipulate departId parameter
  4. Impact
    Disclose department-role information

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V14 - Data Protection Data exposure prevention
MITRE ATT&CK

2 techniques across 2 tactics: Collection, Discovery

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

Exploitation Conditions

Exploitation requires an authenticated session against the JeecgBoot application and the ability to reach the /sys/sysDepartRole/getDeptRoleByUserId endpoint, then supplying an attacker-chosen departId value to retrieve department-role data belonging to other users or departments. Per the vendor CVSS vector, access is authenticated (PR:H) and adjacent-network (AV:A), which limits exploitation to actors already holding privileged credentials and network proximity; however, the AV:A designation is questionable for a web endpoint and may in practice be network-reachable. No special non-default feature or configuration toggle is cited in the description - the vulnerable function appears present in affected versions by default up to 3.9.0. Primary limiting factors: required authentication/privileges and absence of any integrity or availability impact (read-only disclosure).

Impact

This is a genuine but low-to-moderate priority issue, not a top-tier emergency. The vendor CVSS 4.0 score is 4.8 (Medium), and the vector contains PR:H, meaning exploitation requires high-privilege authenticated access, which sharply limits who can abuse it. Impact is confined to low confidentiality (VC:L) with no integrity or availability impact, consistent with CWE-200 information disclosure. The EPSS score is very low at 0.41% (34th percentile), indicating little evidence of broad opportunistic exploitation, and the CVE is NOT on CISA KEV - so despite the 'publicly available exploit code exists' status, there is no confirmed active exploitation. CONFLICTING SIGNAL: the vendor vector specifies AV:A (Adjacent network), which is unusual for a web application endpoint (/sys/sysDepartRole/getDeptRoleByUserId) that would normally be AV:N (Network) - this discrepancy should be verified, as a network-reachable endpoint would materially widen the exposure. Additionally, PR:H appears high for what reads like an IDOR-style parameter manipulation; a low-privilege authenticated user may plausibly suffice, which would raise real-world risk. Net: a real, confirmed-with-POC authenticated info-disclosure flaw of limited scope and low exploitation probability - prioritize patching but below internet-facing unauthenticated criticals.

Exploit ScenarioDerived

An authenticated JeecgBoot user issues a request to /sys/sysDepartRole/getDeptRoleByUserId and tampers with the departId parameter to enumerate department-role associations they should not be able to view, disclosing organizational structure and role assignment data. Public exploit code exists (referenced via GitHub and VulDB), lowering the effort required. Low attack complexity (AC:L) means the manipulation is straightforward once the attacker has the required access.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
No patch listed yet 0.4% exploitation probability (EPSS)

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

Alert me

AnalysisAIv1 – Oct 13, 2026

Information disclosure in JeecgBoot through 3.9.0 allows an authenticated user to retrieve department-role data for arbitrary departments by manipulating the departId parameter sent to /sys/sysDepartRole/getDeptRoleByUserId. Publicly available exploit code exists, but there is no indication of confirmed active exploitation (CISA KEV), and EPSS estimates a 0.41% chance of exploitation in the next 30 days (34th percentile). The vendor vector requires high privileges and adjacent access, while the independent assessment rates it network-reachable with low privileges; both agree the issue is authenticated and read-only, with low confidentiality impact.

RemediationAI

No fixed version is provided; the vendor was contacted but did not respond, so no vendor-released patch is identified at time of analysis. Until a patch exists, disable or restrict access to /sys/sysDepartRole/getDeptRoleByUserId at the reverse proxy or Spring Security layer so only trusted administrative roles can call it; this breaks department-role lookups for legitimate users and should be scoped to affected modules. Enforce server-side object authorization so departId must belong to the authenticated user's department or tenant, and add validation that rejects unauthorized IDs; this requires code changes. Reduce network exposure so the endpoint is not reachable from adjacent or untrusted networks; note the vendor AV:A rating may not reflect real deployments where the web API is network-reachable. Monitor logs for anomalous departId values and repeated queries. Consult VulDB entries https://vuldb.com/?id.338499 and https://vuldb.com/?ctiid.338499 and the PoC https://github.com/Hwwg/cve/issues/34 for indicators, and apply a vendor update once released.

Affects your stack

Find out whether the stacks and servers you run are on an affected version.

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

Technical ContextAI · show details

The affected component is JeecgBoot, a Spring Boot-based low-code development platform; CPE cpe:2.3:a:jeecg:jeecg_boot:*:*:*:*:*:*:*:* indicates the vulnerability is tracked across JeecgBoot versions up to 3.9.0. The endpoint /sys/sysDepartRole/getDeptRoleByUserId is a server-side API that returns department-role associations for a user or department, and the flaw is cataloged as CWE-200 (Exposure of Sensitive Information to an Unauthorized Actor). The description indicates that modifying the departId argument lets an attacker obtain role/department data they should not see, consistent with missing object-level authorization or an IDOR-style access control weakness rather than memory corruption or code execution; no integrity or availability impact is expected. The independent assessment notes authentication is required and that the vendor AV:A/PR:H vector may understate reachability for a web endpoint, since it is network-accessible in typical deployments.

Know when Jeecg Boot 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 (vuldb) PRIMARY 4.8 MEDIUM
CVSS:4.0/AV:A/AC:L/AT:N/PR:H/UI:N/VC:L/VI:N/VA:N/SC:N/SI:N/SA:N
vuln.today AI 4.3 MEDIUM

Web-reachable endpoint so AV:N not AV:A; an authenticated user manipulating departId (IDOR-style) implies PR:L, AC:L, with only low confidentiality impact and no integrity/availability effect.

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

Primary rating from Vendor (vuldb).

CVSS VectorVendor: vuldb

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

DescriptionCVE.org

A vulnerability has been found in JeecgBoot up to 3.9.0. The affected element is the function getDeptRoleByUserId of the file /sys/sysDepartRole/getDeptRoleByUserId. Such manipulation of the argument departId leads to information disclosure. The vendor was contacted early about this disclosure but did not respond in any way.

Threat Intelligence Overview

EPSS Score
0.4%
Top 66% exploitable
Prevalence
Medium
popular open-source Java low-code platform, moderate but not ubiquitous footprint
Exploit
POC
Public exploit code exists
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 MEDIUM
CISA KEV No
Public POC Yes
EPSS 0.4%
Patch available No
Active threat No
Deciding rule
MEDIUM severity (CVSS 4.0-6.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
Poc
System Exposure· derived
Controlled
Automatable· derived
No
Human Impact· derived
Medium

Priority Score

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

Attack Technique

Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.

Affected Products (CPE)CVE.org

cpe:2.3:a:jeecg:jeecg_boot:*:*:*:*:*:*:*:*
CVE-2022-45207 CRITICAL POC
9.8 Nov 25

Jeecg-boot v3.4.3 was discovered to contain a SQL injection vulnerability via the component updateNullByEmptyString. Rat

CVE-2022-45206 CRITICAL POC
9.8 Nov 25

Jeecg-boot v3.4.3 was discovered to contain a SQL injection vulnerability via the component /sys/duplicate/check. Rated

CVE-2024-48307 CRITICAL POC
9.8 Oct 31

JeecgBoot v3.7.1 was discovered to contain a SQL injection vulnerability via the component /onlDragDatasetHead/getTotalD

CVE-2023-41544 CRITICAL POC
9.8 Dec 30

SSTI injection vulnerability in jeecg-boot version 3.5.3, allows remote attackers to execute arbitrary code via crafted

CVE-2023-41543 CRITICAL POC
9.8 Dec 30

SQL injection vulnerability in jeecg-boot v3.5.3, allows remote attackers to escalate privileges and obtain sensitive in

CVE-2023-41542 CRITICAL POC
9.8 Dec 30

SQL injection vulnerability in jeecg-boot version 3.5.3, allows remote attackers to escalate privileges and obtain sensi

CVE-2023-42268 CRITICAL POC
9.8 Sep 08

Jeecg boot up to v3.5.3 was discovered to contain a SQL injection vulnerability via the component /jeecg-boot/jmreport/s

CVE-2023-38992 CRITICAL POC
9.8 Jul 28

jeecg-boot v3.5.1 was discovered to contain a SQL injection vulnerability via the title parameter at /sys/dict/loadTreeD

CVE-2023-34659 CRITICAL POC
9.8 Jun 16

jeecg-boot 3.5.0 and 3.5.1 have a SQL injection vulnerability the id parameter of the /jeecg-boot/jmreport/show interfac

CVE-2023-1454 CRITICAL POC
9.8 Mar 17

A vulnerability classified as critical has been found in jeecg-boot 3.5.0. Rated critical severity (CVSS 9.8), this vuln

CVE-2023-41578 HIGH POC
7.5 Sep 08

Jeecg boot up to v3.5.3 was discovered to contain an arbitrary file read vulnerability via the interface /testConnection

CVE-2023-34660 MEDIUM POC
6.5 Jun 16

jjeecg-boot V3.5.0 has an unauthorized arbitrary file upload in /jeecg-boot/jmreport/upload interface. Rated medium seve

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