Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessAuthenticate as low-privileged user
-
ExploitEnumerate record ids via /sys/oss/file/queryById
-
ImpactRead other users' file names and storage URLs
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 low-privileged authenticated account on a JeecgBoot instance (version through 3.9.5) and knowledge of a target OSS file record id to pass to GET /sys/oss/file/queryById; ids appear to be enumerable, enabling iteration across other users' records. Limiting factors: authentication is required (PR:L, so no unauthenticated access), only confidentiality of file metadata/URLs is affected (no write or availability impact), and the attacker must supply a valid record id. No special non-default configuration is indicated - the vulnerable queryById handler is part of the standard system OSS file module. |
| Impact | This is a genuine but modest-severity information-disclosure issue, not a high-priority emergency. The CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:L/UI:N) and the 5.3 Medium score are internally consistent with the description: a network-reachable endpoint abusable by any low-privileged authenticated user with low complexity, impacting confidentiality only (VC:L, VI:N, VA:N) and with no scope change. Publicly available POC code exists (VulnCheck-reported, with a GitHub exploit script), which raises practical risk since exploitation is trivial once a record id is known. However, there is NO CISA KEV listing and NO EPSS score was supplied, so there is no evidence of active or widespread exploitation - POC availability and active exploitation are distinct signals and should not be conflated. The requirement for prior authentication (PR:L) and knowledge of a valid record id meaningfully limits mass-scanning abuse, pointing to opportunistic post-authentication data harvesting rather than unauthenticated mass compromise. One nuance to verify with the vendor: the vulnerability leaks 'direct storage URLs,' so if those object-storage URLs are themselves unauthenticated/presigned-public, the downstream confidentiality impact on actual file contents could exceed the VC:L rating applied to the record metadata. |
| Exploit ScenarioDerived | A low-privileged authenticated JeecgBoot user (e.g., a basic registered account) sends GET /sys/oss/file/queryById with a guessed or enumerated record id. Because the handler omits an ownership/authorization check, the server returns another user's original file name and direct storage URL, which the attacker can iterate over to harvest other tenants' uploaded file references. A public POC script (poc_record_query_by_id.py) automates this request. |
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 low-privileged user to read object storage file records via the OssFileController queryById handler (GET /sys/oss/file/queryById), exposing original file names and direct storage URLs of other users' uploads. Publicly available exploit code exists, though the issue requires a valid authenticated account and knowledge of a target record ID, which appears enumerable. The assessed vector (CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:N) indicates modest confidentiality impact, and no active exploitation (CISA KEV) is confirmed.
RemediationAI
No vendor-released patch identified at time of analysis. Until a fixed version is available, implement compensating controls: enforce authorization checks in the OssFileController queryById handler to ensure the requesting user has permission to access the requested file record; restrict access to the /sys/oss/file/queryById endpoint to administrative users or disable it if not required by business logic; monitor and alert on patterns of sequential or bulk record ID enumeration in access logs; and ensure object storage URLs are not publicly accessible without authentication (e.g., use short-lived signed URLs). Consult the VulnCheck advisory (https://www.vulncheck.com/advisories/jeecgboot-through-3.9.5-missing-authorization-via-sys-oss-file-querybyid) for updates on patches or additional mitigations. Upgrading to a version beyond 3.9.5 should be considered once a patched release is confirmed by the vendor.
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-based low-code development platform. The vulnerability is a missing authorization flaw (CWE-862) in the OssFileController queryById handler. The handler processes GET requests to /sys/oss/file/queryById, accepting a record ID and returning the corresponding object storage file record without verifying that the requesting user has permission to access that record. This allows any authenticated user, regardless of role, to retrieve metadata for arbitrary file records, including original filenames and direct URLs to the stored files. The root cause is the absence of an authorization check (e.g., verifying ownership or role-based access) before retrieving the record. The affected component is the system OSS file module, part of the standard JeecgBoot distribution.
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 abusable by any authenticated low-privileged user (PR:L) with low complexity; leaks only file metadata/URLs so C:L, 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 OssFileController queryById handler that allows low-privileged authenticated users to read object storage file records. Attackers who know a record id can request GET /sys/oss/file/queryById to obtain original file names and direct storage URLs of files uploaded by other users.
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-96593
GHSA-8fjj-r8xp-gq8v
NVD
CVE.org
EPSS
Exploit-DB