Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessAuthenticate as low-privileged user
-
ExploitEnumerate record ids via GET /airag/ocr/list
-
ExecutionInvoke deleteById lacking authorization check
-
ImpactDelete all shared OCR records in Redis
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 account on the JeecgBoot instance (CVSS PR:L) - it is NOT remote-unauthenticated. Two specific product conditions enable it: the GET /airag/ocr/list endpoint is unguarded (allowing id enumeration), and the AiOcrController deleteById handler performs no authorization/ownership check before deleting a record. Exploitation is limited to deployments running the airag OCR module backed by Redis. Limiting factors that reduce real-world risk: authentication is mandatory, there is no confidentiality exposure or code execution, and impact is confined to deletion/availability of shared OCR prompt records. |
| Impact | This is a genuine but moderate-priority issue, not a top-tier emergency. The CVSS 4.0 base score of 5.3 (MEDIUM) is consistent with the vector AV:N/AC:L/PR:L/UI:N: network-reachable, low attack complexity, but requiring a low-privileged authenticated account (PR:L) and causing only limited integrity/availability impact (VI:L/VA:L) with no confidentiality loss (VC:N). Publicly available exploit code exists (PoC on GitHub, reported by VulnCheck), which lowers the barrier to opportunistic abuse by any user who already has a foothold. However, the CVE is NOT in CISA KEV - there is no confirmed active exploitation. No EPSS probability was provided in the input, so likelihood of widespread exploitation cannot be quantified; this gap should be noted rather than assumed low or high. No SSVC decision data (automatable, exploitation status, technical impact) was supplied. The practical risk is bounded by two factors: an attacker must first authenticate, and the damage is confined to deletion of shared OCR prompt records in Redis (destructive/availability, not data theft or RCE). Net: a real authorization-control defect worth patching, but materially de-prioritized versus unauthenticated or high-impact flaws because of the PR:L requirement and limited blast radius. |
| Exploit ScenarioDerived | A low-privileged but authenticated user calls the unguarded GET /airag/ocr/list endpoint to harvest the ids of OCR prompt records, then repeatedly invokes the AiOcrController deleteById handler to delete every shared OCR record stored in Redis, degrading or wiping the shared OCR feature for all tenants. A public proof-of-concept exploit script exists, so the attack requires little custom development. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 10, 2026
Authenticated low-privileged users of JeecgBoot through 3.9.5 can delete arbitrary shared OCR prompt records via the AiOcrController deleteById handler, which performs no authorization or ownership check. Attackers first enumerate record IDs from the unguarded GET /airag/ocr/list endpoint and then repeatedly invoke the delete action, wiping records stored in Redis. Publicly available exploit code exists (GitHub PoC), and the issue is rated moderate (assessed CVSS 3.1 5.3, PR:L) because it requires a valid account and only affects availability/integrity of OCR records, with no confidentiality or code-execution impact.
RemediationAI
No patched version is specified in the available intelligence; organizations should check the VulnCheck advisory and vendor channels for an updated release and upgrade JeecgBoot beyond 3.9.5 as soon as a fix is published. Until then, apply compensating controls: add authorization/ownership checks to the deleteById handler so only the record owner or an administrator can delete OCR records; add authentication or role checks to the GET /airag/ocr/list endpoint to prevent ID enumeration; and restrict access to the /airag/ocr/* endpoints to trusted roles or networks. If the airag OCR feature is not needed, disabling the module removes the attack surface but sacrifices OCR functionality. Additionally, restrict Redis access to application components only and monitor for bulk deletion of OCR records, though these measures do not fix the underlying authorization gap.
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 CWE-862 missing authorization flaw in the JeecgBoot airag OCR module. The AiOcrController deleteById handler (referenced in source at lines 73-93 of the linked GitHub file) does not verify that the requesting user owns or has permission to delete the target OCR record, allowing any authenticated user with a low-privileged account to delete any record by ID. The companion GET /airag/ocr/list endpoint is also unguarded, enabling trivial enumeration of valid record identifiers. OCR prompt records are persisted in Redis, so deletion directly removes shared data from the backing store; the CPE cpe:2.3:a:jeecgboot:jeecgboot:*:*:*:*:*:*:*:* confirms the affected product namespace covers all versions through 3.9.5. The impact class is integrity/availability (I:L, A:L) rather than confidentiality, and exploitation is limited to deployments running the airag OCR module backed by Redis.
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:L/SC:N/SI:N/SA:N
Network-reachable with low complexity but needs a low-privileged authenticated account (PR:L); deleting shared records yields limited integrity and availability impact and no confidentiality loss.
Primary rating from Vendor (VulnCheck).
CVSS VectorVendor: VulnCheck
DescriptionCVE.org
JeecgBoot through 3.9.5 contains a missing authorization vulnerability in the AiOcrController deleteById handler that allows any authenticated user to delete OCR records. Low-privileged attackers can obtain record ids from the unguarded GET /airag/ocr/list endpoint and repeatedly delete every shared OCR prompt record stored in Redis.
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-96545
GHSA-wf7x-w7xx-84qh
NVD
CVE.org
EPSS
Exploit-DB