Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessAuthenticate as low-privileged user
-
DeliveryEnumerate record ids from unguarded list endpoint
-
ExploitSend crafted PUT to edit endpoint
-
ExecutionOverwrite depart_id/permission_id/data_rule_ids
-
ImpactEscalate department menu and data-rule delegation
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V8 - Authorization Authorization checks on every request
MITRE ATT&CK
1 technique across 1 tactic: Privilege Escalation The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Requires a valid authenticated JeecgBoot account of any privilege level (PR:L) - the attacker does not need admin rights. The specific prerequisite is reachability of the SysDepartPermissionController edit (PUT) endpoint, which lacks an authorization check, combined with the companion list endpoint being unguarded so valid record ids can be enumerated. No user interaction and no special non-default configuration are stated as required; the primary limiting factor is that the attacker must first hold authenticated access to the application, so instances with no untrusted or low-trust user accounts, or not network-exposed, are materially less exposed. Affected: JeecgBoot through 3.9.5. |
| Impact | This is a broken-access-control (CWE-862 missing authorization) flaw in JeecgBoot's SysDepartPermissionController, rated moderate (input CVSS 4.0 base 5.3). All signals point to a real-but-not-critical issue rather than a top-priority emergency. The CVSS 4.0 vector (AV:N/AC:L/PR:L/UI:N) confirms network-reachable, low-complexity exploitation requiring a valid authenticated account, with impact limited to integrity (VI:L) and no confidentiality or availability loss (VC:N/VA:N) - consistent with the description of an authenticated user tampering with department permission records. Exploit code is publicly available (VulnCheck-reported POC), which raises practical risk, but there is NO CISA KEV listing and NO EPSS score was supplied, so there is no evidence of active exploitation and widespread automated attack probability cannot be quantified from the provided data. SSVC-style reading: exploitation is 'POC', technical impact is partial (not total), and the attacker already needs authenticated access, so this is best treated as a privilege/authorization-hardening priority on exposed multi-tenant JeecgBoot deployments rather than a drop-everything remote-takeover bug. Key missing data: no EPSS, no KEV, and no vendor patch version is provided in the input, so remediation timing cannot be anchored to a confirmed fixed release. |
| Exploit ScenarioDerived | A low-privileged but authenticated JeecgBoot user queries the unguarded department-permission list endpoint to harvest valid record ids, then sends a crafted PUT request to the SysDepartPermissionController edit endpoint. Because the edit endpoint performs no authorization check, the attacker overwrites depart_id, permission_id, and data_rule_ids to grant their own (or another) department additional menus and data rules. A working Python POC (poc_depart_permission_edit_put.py) is publicly available, lowering the effort required. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 10, 2026
Missing authorization in JeecgBoot through 3.9.5 allows any authenticated user, including low-privileged accounts, to overwrite department permission records through the unprotected edit (PUT) endpoint of SysDepartPermissionController, changing depart_id, permission_id and data_rule_ids values that control which menus and data rules departments may delegate. A companion list endpoint is likewise unguarded, so attackers can enumerate valid record ids before issuing the modification requests. Publicly available exploit code exists (no confirmed active exploitation), and the flaw is rated moderate - CVSS 4.0 base 5.3 with integrity-only impact - requiring only a valid authenticated account of any privilege level per the CVSS vector (PR:L).
RemediationAI
No vendor-released patch identified at time of analysis; the referenced upstream source still shows the unguarded endpoint, and no fixed release version is published in the available data. The most direct fix is a code-level one: add an explicit authorization check (for example a Spring Security or Shiro permission annotation such as @RequiresPermissions) to the SysDepartPermissionController edit and list endpoints before deployment, then rebuild and redeploy the jeecg-system-biz module - trade-off is that this requires in-house Java changes and regression testing, since a mistake could break legitimate department-permission administration. As compensating controls until a fix is applied, block or restrict network access to the department-permission edit/list paths (for example at a reverse proxy or API gateway) so only trusted administrative clients can reach them - trade-off is that any legitimate low-privilege or automated workflow using those endpoints will fail. Restrict and audit account provisioning so that untrusted or self-registered users cannot obtain any authenticated session, since PR:L is the only prerequisite - trade-off is reduced self-service onboarding. Finally, monitor and periodically diff the department-permission records (depart_id, permission_id, data_rule_ids) against a known-good baseline and restore altered values, which detects abuse but does not prevent it. Consult the source reference https://github.com/jeecgboot/JeecgBoot/blob/e3b9dc0aefe1943d9772b026f64ed671a7c82802/jeecg-boot/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysDepartPermissionController.java#L105-L110 and the VulnCheck advisory https://www.vulncheck.com/advisories/jeecgboot-through-3.9.5-missing-authorization-via-sys-sysdepartpermission-edit for endpoint details, and note that a public proof-of-concept script exists at https://github.com/AnkesKasty/cve-request-poc/blob/a7b6d1423555812d8efa26c91c5d0683164b31e5/JeecgBoot/poc_depart_permission_edit_put.py.
Affected VersionsENISA
Affected Packages
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 sys module exposes REST controllers such as SysDepartPermissionController. CWE-862 (Missing Authorization) is the root cause: the edit endpoint that writes department-permission mappings performs no role or permission check, and the associated list endpoint that returns record identifiers is similarly unprotected, allowing straightforward id enumeration and subsequent unauthorized updates. The affected component governs department-level delegation of menus and data rules, so tampering affects access-control configuration rather than direct code execution or data confidentiality. Per the CVSS vector (AV:N/AC:L/AT:N/PR:L/UI:N) the attack is network-reachable, low-complexity, requires a low-privileged authenticated session, and needs no user interaction; impact is limited to low integrity (VI:L) with no confidentiality or availability effect. The CPE cpe:2.3:a:jeecgboot:jeecgboot:*:*:*:*:*:*:*:* covers all JeecgBoot versions through 3.9.5, matching the upstream source referenced in the controller implementation.
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
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:N/VI:L/VA:N/SC:N/SI:N/SA:N
Network-reachable endpoint with low complexity needs an authenticated low-privileged account (PR:L); impact is unauthorized modification of permission records, so I:L with C:N and A:N.
Primary rating from Vendor (VulnCheck).
CVSS VectorVendor: VulnCheck
DescriptionCVE.org
JeecgBoot through 3.9.5 contains a missing authorization vulnerability in SysDepartPermissionController that allows any authenticated user to modify department permission records by calling the edit endpoint. Low-privileged attackers can obtain row ids from the unguarded list endpoint and overwrite depart_id, permission_id and data_rule_ids to alter which menus and data rules departments may delegate.
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
Authentication bypass attacks exploit flaws in the verification mechanisms that control access to systems and applications.
Unauthenticated report data exfiltration in JimuReport (JeecgBoot) through version 2.5.0 lets remote attackers export th
Broken access control in JeecgBoot through 3.9.2 lets authenticated low-privilege users reach the OpenApiAuthController
Privilege escalation in JeecgBoot through 3.9.5 lets any authenticated user approve their own pending tenant administrat
Missing authorization in the saveDeptRolePermission endpoint of JeecgBoot's SysDepartPermissionController lets any authe
SQL injection vulnerability in Beijing Guoju Information Technology Co., Ltd JeecgBoot v.3.7.2 allows a remote attacker
JeecgBoot up to v 3.5.1 was discovered to contain a SQL injection vulnerability via the component queryFilterTableDictIn
JeecgBoot up to v 3.5.1 was discovered to contain a SQL injection vulnerability via the component queryTableDictItemsByC
JeecgBoot through 3.9.5 ships a system log controller whose batch-delete handler performs no authorization check, so any
Database credential disclosure in JeecgBoot through 3.9.5 allows any authenticated low-privileged user to retrieve JDBC
Missing authorization in JeecgBoot through 3.9.5 lets any authenticated user enumerate record IDs through the unguarded
Authenticated low-privileged users of JeecgBoot through 3.9.5 can retrieve any other user's stored password ciphertext t
Authenticated users of any privilege level on JeecgBoot through 3.9.5 can rewrite DingTalk, WeCom, or Feishu third-party
EUVD-2026-96569
GHSA-vxh9-32jh-rr78
NVD
CVE.org
EPSS
Exploit-DB