Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessObtain low-privileged account
-
DeliveryAuthenticate to JeecgBoot
-
ExploitCall queryUserAuths with arbitrary userId
-
ExecutionEnumerate permissions and identify admins
-
ImpactStage targeted follow-on attack
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 session on the target JeecgBoot instance at any privilege level (PR:L) - the attacker must already possess or register a low-privileged account before invoking the vulnerable sys/api queryUserAuths endpoint with an attacker-chosen userId. No user interaction or non-default configuration is needed, and the endpoint is network-reachable, but the authentication requirement is the primary limiting factor: instances without self-registration or with no attacker-held credentials are not exploitable by fully external parties. Impact is bounded to disclosure of other users' permission data (VC:L); no data modification or service disruption results. |
| Impact | This is a genuine but moderate-severity issue, correctly rated rather than inflated. The vendor-provided CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:L/UI:N/VC:L/VI:N/VA:N) describes a network-reachable, low-complexity flaw requiring low privileges (PR:L) with only limited confidentiality impact and no integrity or availability impact - fully consistent with the description of an authenticated information-disclosure/IDOR flaw. A public POC exists (publicly available exploit code exists), which raises practical exploitability, but there is no CISA KEV listing and no EPSS score was provided, so there is no evidence of active exploitation - treat POC availability and active exploitation as distinct signals. The required PR:L (any authenticated low-privileged account) meaningfully limits mass exploitation, since an attacker must first obtain valid credentials to the JeecgBoot instance. The realistic risk is as a reconnaissance/privilege-escalation enabler: it leaks another account's complete permission set and reveals which accounts are administrators, which is valuable as a precursor to a targeted follow-on attack rather than as a direct compromise. No signals conflict; the main gaps are the absent EPSS score and the lack of an independently verified fixed version. |
| Exploit ScenarioDerived | An attacker who already holds any low-privileged JeecgBoot account authenticates and calls the queryUserAuths handler, passing a userId belonging to another user. The server returns that user's full permission set, letting the attacker enumerate accounts and pinpoint administrators to target next. A public Python POC (poc_sys_api_query_user_auths.py) demonstrates the request, and the low attack complexity (AC:L) means the request succeeds reliably against affected versions. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 11, 2026
JeecgBoot through 3.9.5 contains a missing authorization flaw in the sys/api queryUserAuths handler that lets any authenticated user retrieve the complete permission set of an arbitrary account by supplying an attacker-chosen userId parameter. This allows low-privileged attackers to map out administrator accounts and their permissions, though it does not permit modification or service disruption (CVSS 4.0 score 5.3; independent assessment CVSS 3.1 score 5.3). Publicly available exploit code exists (no CISA KEV confirmation), and exploitation requires a valid authenticated session at any privilege level.
RemediationAI
No vendor-released patch identified at time of analysis. Until a fixed version beyond 3.9.5 is available, apply compensating controls: (1) restrict access to the /sys/api/queryUserAuths endpoint at the reverse proxy or API gateway so that only trusted administrative networks or roles can reach it-this may break legitimate administrative workflows that rely on querying user permissions; (2) implement a server-side authorization check in the handler to ensure the requested userId matches the authenticated user's own ID unless the caller holds an administrative role, which is the correct long-term fix and requires code modification; (3) disable user self-registration if it is not essential, reducing the pool of authenticated accounts an attacker can leverage-this may hinder legitimate user onboarding; (4) monitor application logs for patterns of sequential or anomalous userId parameters in requests to queryUserAuths, as this indicates enumeration attempts. Refer to the VulnCheck advisory (https://www.vulncheck.com/advisories/jeecgboot-through-3.9.5-missing-authorization-via-sys-api-queryuserauths) and the public PoC (https://github.com/AnkesKasty/cve-request-poc/blob/a7b6d1423555812d8efa26c91c5d0683164b31e5/JeecgBoot/poc_sys_api_query_user_auths.py) for further details.
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 resides in the SystemApiController of JeecgBoot, an open-source low-code development platform, specifically in the queryUserAuths handler (lines 493-496 of the referenced commit). CWE-862 (Missing Authorization) is the root cause: the endpoint fails to verify that the authenticated caller is authorized to view the permissions of the userId provided in the request. JeecgBoot's permission model assigns roles and permissions to users, and this endpoint is intended to return a user's authorization set; without a server-side check, any authenticated user can enumerate other users' permissions by iterating over userId values. The CPE cpe:2.3:a:jeecgboot:jeecgboot:*:*:*:*:*:*:*:* indicates that all versions up to and including 3.9.5 are affected. The vulnerability is network-reachable (AV:N) and requires low privileges (PR:L) but no user interaction (UI:N), consistent with the assessed CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:N.
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 (AV:N) with low complexity (AC:L) requiring any authenticated account (PR:L); discloses only permission data (C:L) 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 that allows authenticated users to read any account's permissions via the queryUserAuths handler. Low-privileged attackers can supply an arbitrary userId parameter to retrieve another user's complete permission set and identify administrator accounts.
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-97040
GHSA-7xj8-xwgj-5prc
NVD
CVE.org
EPSS
Exploit-DB