Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessAuthenticate with low-privilege account
-
ExploitEnumerate template IDs via GET /airag/prompts/list
-
ExecutionCall DELETE /airag/prompts/delete per ID
-
ImpactTemplates logically deleted for all users
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 | Exploitation requires a valid authenticated session on the JeecgBoot instance at a low privilege level (CVSS PR:L) - it is NOT remote-unauthenticated. The specific prerequisite is reachability of the AiragPromptsController AIRAG prompt endpoints, i.e., the AI/RAG prompts feature must be present and exposed (JeecgBoot's jeecg-boot-module-airag module). The DELETE /airag/prompts/delete endpoint lacks per-object ownership/authorization checks, and the GET /airag/prompts/list endpoint is unguarded, enabling ID enumeration. Limiting factors: the attacker must hold credentials for any account (mitigated on instances with no untrusted/self-registered users), no user interaction is needed, and impact is confined to logical deletion of AI prompt templates (availability/integrity of those objects) with no confidentiality exposure and no system-level compromise. |
| Impact | This is a genuine but low-to-moderate priority issue, and the signals are internally consistent rather than conflicting. The vendor-provided CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:L/UI:N) and the 5.3 base score agree with the description: network-reachable, low-complexity, but requiring an authenticated low-privileged account (PR:L), with no confidentiality impact and only limited integrity/availability impact (VI:L/VA:L) and no scope change. The impact is narrow - an authenticated user can logically delete other users' AI prompt templates (availability/integrity of specific data objects), not achieve RCE, data theft, or full system compromise. A public POC exists (reported by VulnCheck, with a GitHub exploit script), which raises practical exploitability, but there is NO CISA KEV listing and no EPSS score was provided, so there is no evidence of active, widespread exploitation - the POC availability and absence of KEV together suggest opportunistic/targeted abuse potential rather than mass exploitation. The main risk driver is that the GET /airag/prompts/list endpoint is unguarded, making target IDs trivially enumerable for any logged-in user. No key signals are missing or contradictory; the chief caveat is the absence of EPSS data to quantify exploitation probability. |
| Exploit ScenarioDerived | A low-privileged but authenticated user (e.g., any registered account on a JeecgBoot instance) queries the unguarded GET /airag/prompts/list endpoint to enumerate prompt template IDs belonging to other users, then issues DELETE /airag/prompts/delete for each ID to logically remove them, denying those templates to all users. A public POC script (poc_airag_prompts_delete.py) automates this end to end. Because the attack is network-based and low-complexity, it requires only valid low-level credentials and no user interaction. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 11, 2026
Missing authorization checks in JeecgBoot's AiragPromptsController (all releases through 3.9.5) let any authenticated user, even one at the lowest privilege level, delete AI prompt templates belonging to other users by calling DELETE /airag/prompts/delete. Because the companion GET /airag/prompts/list endpoint performs no authorization at all, an attacker can first enumerate valid prompt template IDs and then trigger a logical (soft) deletion, making those templates unavailable to every user on the instance. Publicly available exploit code exists, but there is no indication of confirmed active exploitation; the assessed impact is confined to integrity and availability of prompt-template objects (CVSS 3.1 base 5.3, PR:L, AV:N), with no confidentiality exposure and no system-level compromise, making this a genuine but low-to-moderate priority issue.
RemediationAI
No vendor-released patch version is identified in the available data, so the primary action is to track the upstream JeecgBoot project and upgrade to the first release published after 3.9.5 that addresses the authorization gap, verifying against the VulnCheck advisory (https://www.vulncheck.com/advisories/jeecgboot-through-3.9.5-missing-authorization-via-airag-prompts-delete) and the upstream controller source reference (https://github.com/jeecgboot/JeecgBoot/blob/e3b9dc0aefe1943d9772b026f64ed671a7c82802/jeecg-boot/jeecg-boot-module/jeecg-boot-module-airag/src/main/java/org/jeecg/modules/airag/prompts/controller/AiragPromptsController.java#L117-L123) for a fix commit. Until then, the most effective compensating control is to remove or undeploy the jeecg-boot-module-airag component, or block the /airag/prompts/list and /airag/prompts/delete paths at the reverse proxy or API gateway so only explicitly trusted administrative roles can reach them - the trade-off being that legitimate AI prompt management becomes unavailable to ordinary users. Alternatively, patch the controller or add an interceptor/filter that enforces per-object ownership and role checks on these endpoints, which preserves functionality but requires custom code maintenance across upgrades. Because exploitation requires a valid session, hardening account provisioning also reduces exposure: disable self-registration and guest or demo accounts, remove unused low-privileged users, and audit existing accounts so that only trusted personnel hold credentials. Finally, log and alert on DELETE requests to /airag/prompts/delete (with the accompanying list-endpoint enumeration pattern) to detect abuse, and be aware that the deletion is logical, so affected prompt templates may still be recoverable from the backing database if identified promptly.
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 Spring Boot based low-code development platform written in Java, and the affected functionality lives in the jeecg-boot-module-airag module, which exposes REST endpoints for managing AIRAG (AI retrieval-augmented generation) prompt templates. The root cause is CWE-862 (Missing Authorization): the handler in AiragPromptsController.java (roughly lines 117-123 in the referenced upstream revision) accepts a prompt template identifier and performs the deletion without verifying that the calling principal owns the object or holds a role permitted to administer prompts, and the paired listing endpoint that returns template IDs is likewise unguarded. This allows a classic horizontal privilege problem combined with trivial ID enumeration: a low-privileged authenticated session can harvest IDs from the list endpoint and then invoke the delete endpoint against any of them. The delete semantics are logical rather than physical, so the affected records remain in the datastore but are flagged unavailable, which affects availability and integrity of the template objects (per the CVSS vector VC:N/VI:L/VA:L) rather than confidentiality. The supplied CPE cpe:2.3:a:jeecgboot:jeecgboot:*:*:*:*:*:*:*:* carries a wildcard version, indicating all published releases up to and including 3.9.5 are considered in scope; environments that never deploy the AIRAG module, or that front the application with an authorization-aware gateway, do not expose the vulnerable surface.
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 endpoint, low complexity, and a low-privileged authenticated account (PR:L); no data read (C:N), with limited integrity and availability impact from logically deleting others' templates.
Primary rating from Vendor (VulnCheck).
CVSS VectorVendor: VulnCheck
DescriptionCVE.org
JeecgBoot through 3.9.5 contains a missing authorization vulnerability in AiragPromptsController that allows any authenticated user to delete AI prompt templates by calling DELETE /airag/prompts/delete. Low-privileged attackers can obtain template ids from the unguarded GET /airag/prompts/list endpoint and logically delete any user's prompt template, making it unavailable to all 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-97051
GHSA-p3hr-cmrw-wvp7
NVD
CVE.org
EPSS
Exploit-DB