Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessAuthenticate with low-privileged account
-
ExploitEnumerate tenantId values on getTenantPackApplyUsers
-
ImpactHarvest cross-tenant applicant PII
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 low-privileged JeecgBoot account (PR:L) and a deployment using the multi-tenant feature where tenant-admin package applications exist; the attacker then increments the tenantId parameter on GET /sys/tenant/getTenantPackApplyUsers, which performs no tenant-ownership check. Exploitation is limited by the authentication requirement (no anonymous access) and by the presence of pending applicants to leak; impact is confined to read-only disclosure of applicant PII (usernames, real names, phone numbers, departments) with no write or availability effect. |
| Impact | This is a medium-severity information-disclosure issue, not a critical priority. The vendor CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:L/UI:N) scores 5.3 and shows only confidentiality impact (VC:L, VI:N, VA:N) with no scope change - consistent with CWE-862 missing authorization that leaks PII but cannot alter data or affect availability. The attack is network-reachable with low complexity and no user interaction, but PR:L means a valid (if low-privileged) account on the target instance is required, which meaningfully narrows the threat to insiders or attackers who have already obtained any foothold credential. Publicly available exploit code exists (a GitHub PoC and a VulnCheck advisory), which raises practical likelihood, but there is no CISA KEV listing, so this is 'publicly available exploit code exists,' NOT confirmed active exploitation - do not conflate the two. EPSS and SSVC decision data were not provided in the input, so exploitation-probability and automatability signals cannot be weighed; this is a gap, not evidence of low risk. Net: a real but bounded cross-tenant PII leak worth patching promptly in multi-tenant deployments, below the urgency of an unauthenticated RCE. |
| Exploit ScenarioDerived | A low-privileged user (or an attacker who has phished/obtained any valid JeecgBoot account) calls GET /sys/tenant/getTenantPackApplyUsers and iterates the tenantId parameter across tenants. Because the endpoint does not check tenant ownership, each request returns pending tenant-admin applicants' usernames, real names, phone numbers, and departments, enabling bulk harvesting of PII for social engineering or further targeting. A public PoC (poc_tenant_ownership_and_pack_approval.py) demonstrates the technique. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 10, 2026
Information disclosure in JeecgBoot through 3.9.5 allows any authenticated low-privileged user to read tenant administrator applications for any tenant by iterating the tenantId parameter on the /sys/tenant/getTenantPackApplyUsers endpoint. Public exploit code exists, but exploitation requires a valid account and a multi-tenant deployment with pending applicants; the impact is limited to read-only disclosure of applicant PII (usernames, real names, phone numbers, departments) with no write or availability effect. This medium-severity issue is confirmed by an independent assessment as an information-disclosure flaw, not a critical priority.
RemediationAI
No vendor-released patch was identified at the time of analysis for CVE-2026-108656. Administrators should monitor the JeecgBoot project for an official fix and upgrade as soon as a patched version becomes available. In the meantime, mitigate the exposure by restricting access to the /sys/tenant/getTenantPackApplyUsers endpoint using a reverse proxy or web application firewall rule that requires tenant-ownership validation or blocks requests where the tenantId does not match the authenticated user's tenant. Disabling the endpoint entirely is effective but may break legitimate tenant pack application workflows; consider this trade-off carefully. Additionally, enforce least privilege by limiting the number of low-privileged accounts and audit logs for unusual tenantId enumeration patterns. Apply network segmentation to limit access to the JeecgBoot administrative interface to trusted networks.
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
The vulnerability is a missing authorization (CWE-862) in the SysTenantController of JeecgBoot, a Spring Boot-based low-code development platform. The GET /sys/tenant/getTenantPackApplyUsers endpoint, defined around lines 816-820 of the controller, fails to verify that the authenticated user has permission to view tenant pack applications for the specified tenantId. Consequently, any authenticated user can supply arbitrary tenantId values and retrieve pending applicants' usernames, real names, phone numbers, and departments. The affected component is the multi-tenant management module, and exploitation is possible only when the multi-tenant feature is enabled and tenant-admin package applications exist. The CPE cpe:2.3:a:jeecgboot:jeecgboot:*:*:*:*:*:*:*:* confirms all versions through 3.9.5 are affected.
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-reachable endpoint with low complexity but requires any authenticated account (PR:L); leaks limited PII so C:L, with no integrity or availability impact and no scope change.
Primary rating from Vendor (VulnCheck).
CVSS VectorVendor: VulnCheck
DescriptionCVE.org
JeecgBoot through 3.9.5 contains a missing authorization vulnerability in the SysTenantController GET /sys/tenant/getTenantPackApplyUsers endpoint that allows any authenticated user to read tenant administrator applications. Low-privileged attackers can iterate the tenantId parameter to retrieve pending applicants' usernames, real names, phone numbers and departments for any tenant.
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-96595
GHSA-xp5m-3f3f-ffgp
NVD
CVE.org
EPSS
Exploit-DB