Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessAuthenticate as low-privileged tenant user
-
DeliveryEnumerate target tenantId values
-
ExploitCall getTenantPackInfo with fixed packCode (superAdmin/accountAdmin/appAdmin)
-
ExecutionReceive cross-tenant admin PII (usernames, names, phones, departments)
-
ImpactUse data for targeted phishing or credential attacks
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 (1) a valid authenticated account on the JeecgBoot instance, even a low-privileged one (CVSS PR:L), and (2) a MULTI-TENANT deployment, since the disclosure is cross-tenant - the attacker supplies another tenant's tenantId plus a fixed packCode such as superAdmin, accountAdmin or appAdmin to the getTenantPackInfo handler. No user interaction, special client, or non-default feature toggle is needed; the missing authorization check is in the standard SysTenant controller. Limiting factors: single-tenant or fully trusted-user deployments gain little, exposure is read-only PII (no write/code-execution), and the attacker must know or enumerate valid target tenantId values. |
| Impact | This is a genuine but modest-severity information-disclosure flaw, not a critical priority. All signals align on LOW real-world risk: the vendor-supplied CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:L/UI:N/VC:L/VI:N/VA:N) scores 5.3 (Medium) and explicitly requires PR:L - a valid authenticated low-privileged account - so this is not remote-unauthenticated. Impact is confined to confidentiality (VC:L), with no integrity or availability effect, consistent with CWE-862 missing authorization leaking administrator PII rather than enabling code execution or account takeover. A public POC exists (AnkesKasty cve-request-poc), which raises exploitability, but there is NO CISA KEV listing and no EPSS score was provided in the input, so there is no evidence of active exploitation - POC availability and active exploitation are distinct signals and must not be conflated. The main thing to verify is deployment context: in a single-tenant or trusted-user JeecgBoot instance the cross-tenant disclosure is largely academic, whereas in a genuine multi-tenant SaaS deployment any authenticated tenant can enumerate other tenants' admin usernames, names, phones and departments - useful reconnaissance for follow-on phishing or password attacks. No conflicting signals were found; the chief gap is the absence of EPSS data to quantify exploitation probability. |
| Exploit ScenarioDerived | An attacker who holds any low-privileged account on a multi-tenant JeecgBoot instance calls the getTenantPackInfo handler, supplying an arbitrary tenantId together with a fixed packCode such as superAdmin, accountAdmin or appAdmin. Because the handler performs no authorization check binding the caller to the requested tenant, it returns the target tenant's administrator usernames, real names, phone numbers and departments. A working POC for this exact request is publicly available, so exploitation requires only a valid session and knowledge of tenant IDs. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 11, 2026
Information disclosure in JeecgBoot through 3.9.5 allows any authenticated low-privileged user in a multi-tenant deployment to query the getTenantPackInfo handler with another tenant's tenantId and fixed packCode values such as superAdmin, accountAdmin, or appAdmin, exposing administrator usernames, real names, phone numbers, and departments. The flaw is a CWE-862 missing authorization check in SysTenantController; it is read-only PII exposure that requires a valid account and knowledge or enumeration of a target tenantId, with CVSS 5.3 and an independent assessment of CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:N. Publicly available exploit code exists, but there is no confirmed active exploitation (not in CISA KEV), making this a genuine but modest-severity cross-tenant information-disclosure issue.
RemediationAI
No vendor-released patch identified at time of analysis in the provided data. Until a fixed release is available, enforce server-side tenant authorization in getTenantPackInfo: derive the tenant from the authenticated session and reject or ignore any tenantId that does not match it, and add an explicit permission check before returning pack membership for packCode values such as superAdmin, accountAdmin, or appAdmin. Restrict access to SysTenant endpoints to trusted administrators or internal networks where possible, and log or alert on cross-tenant tenantId access; the trade-off is that legitimate tenant pack administration may be blocked or require custom authorization rules. If JeecgBoot publishes a release after 3.9.5, upgrade to that vendor-supported version and re-test tenant isolation. Review the VulnCheck advisory at https://www.vulncheck.com/advisories/jeecgboot-through-3.9.5-missing-authorization-via-sys-tenant-gettenantpackinfo and the referenced vulnerable source; a public PoC script is available at https://github.com/AnkesKasty/cve-request-poc/blob/a7b6d1423555812d8efa26c91c5d0683164b31e5/JeecgBoot/poc_tenant_pack_members.py for defensive validation.
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. The affected component is the getTenantPackInfo handler in SysTenantController, located in jeecg-boot/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysTenantController.java around lines 764-768. The handler returns tenant product pack membership information, and the CWE-862 missing authorization root cause means the server does not verify that the authenticated user belongs to the supplied tenantId or is permitted to read the requested packCode. In multi-tenant deployments, this breaks tenant isolation for pack membership queries; fixed packCode values such as superAdmin, accountAdmin, and appAdmin can select privileged tenant pack data, leading to disclosure of administrator identity and contact details. The provided CPE cpe:2.3:a:jeecgboot:jeecgboot:*:*:*:*:*:*:*:* identifies the product family without an explicit version constraint, while the vulnerability description and VulnCheck advisory bind the affected range through JeecgBoot 3.9.5. The CVSS 4.0 vector indicates network access, low privileges, no user interaction, and low confidentiality impact only, while the independent CVSS 3.1 assessment matches that read-only, partial-confidentiality profile.
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:L/VI:N/VA:N/SC:N/SI:N/SA:N
Network-accessible API callable by any authenticated low-privileged user (PR:L), no user interaction; limited confidentiality disclosure of admin PII only, with no integrity or availability impact.
Primary rating from Vendor (VulnCheck).
CVSS VectorVendor: VulnCheck
DescriptionCVE.org
JeecgBoot through 3.9.5 contains a missing authorization vulnerability in the getTenantPackInfo handler that allows any authenticated user to read other tenants' product pack membership. Low-privileged attackers can supply a tenantId and fixed packCode values such as superAdmin, accountAdmin or appAdmin to disclose administrator usernames, real names, phones and departments.
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-97055
GHSA-623c-j748-v6w2
NVD
CVE.org
EPSS
Exploit-DB