JeecgBoot CVE-2025-15121
MEDIUMAttack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessObtain authenticated JeecgBoot access
-
ExploitCall getDeptRoleByUserId endpoint
-
ExecutionManipulate departId parameter
-
ImpactDisclose 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. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – 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
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
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.
Primary rating from Vendor (vuldb).
CVSS VectorVendor: vuldb
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
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.
What every action level means
SSVC AssessmentENISA
Priority Score
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
More in Jeecg Boot
View allJeecg-boot v3.4.3 was discovered to contain a SQL injection vulnerability via the component updateNullByEmptyString. Rat
Jeecg-boot v3.4.3 was discovered to contain a SQL injection vulnerability via the component /sys/duplicate/check. Rated
JeecgBoot v3.7.1 was discovered to contain a SQL injection vulnerability via the component /onlDragDatasetHead/getTotalD
SSTI injection vulnerability in jeecg-boot version 3.5.3, allows remote attackers to execute arbitrary code via crafted
SQL injection vulnerability in jeecg-boot v3.5.3, allows remote attackers to escalate privileges and obtain sensitive in
SQL injection vulnerability in jeecg-boot version 3.5.3, allows remote attackers to escalate privileges and obtain sensi
Jeecg boot up to v3.5.3 was discovered to contain a SQL injection vulnerability via the component /jeecg-boot/jmreport/s
jeecg-boot v3.5.1 was discovered to contain a SQL injection vulnerability via the title parameter at /sys/dict/loadTreeD
jeecg-boot 3.5.0 and 3.5.1 have a SQL injection vulnerability the id parameter of the /jeecg-boot/jmreport/show interfac
A vulnerability classified as critical has been found in jeecg-boot 3.5.0. Rated critical severity (CVSS 9.8), this vuln
Jeecg boot up to v3.5.3 was discovered to contain an arbitrary file read vulnerability via the interface /testConnection
jjeecg-boot V3.5.0 has an unauthorized arbitrary file upload in /jeecg-boot/jmreport/upload interface. Rated medium seve
NVD
CVE.org
EPSS
GitHub
VulDB
Exploit-DB