Skip to main content

JeecgBoot EUVDEUVD-2026-96610

| CVE-2026-108671 HIGH
Missing Authorization (CWE-862)
2026-10-10 VulnCheck GHSA-p9cq-jf42-732x
7.1
CVSS 4.0 · Vendor: VulnCheck
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Authenticate as low-privilege user
  2. Exploit
    Enumerate record IDs via /airag/app/queryById
  3. Execution
    Call queryById on MCP config (authz check commented out)
  4. Impact
    Exfiltrate MCP URLs, headers, and outbound tokens

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 JeecgBoot session of any privilege level (PR:L) - it is not reachable by anonymous/unauthenticated attackers. The deployment must have the AiRAG/MCP module in use with configured MCP server records (endpoint URLs, headers, outbound tokens) stored; a plain JeecgBoot install not using the airag MCP feature exposes nothing sensitive. The specific preconditions are: (1) the /airag/app/queryById endpoint being reachable to enumerate record IDs, and (2) the AiragMcpController queryById permission/authorization check remaining commented out (present in versions through 3.9.5). The main limiting factor is the authentication requirement; no user interaction, no non-default toggle beyond actually using the AIRAG MCP feature, and no special platform are needed.

Impact

This is a credible, moderate-priority information-disclosure issue rather than a critical remote-takeover bug. The provided CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:N/VA:N) is internally consistent with the description: network-reachable, low attack complexity, and crucially PR:L - exploitation requires an already-authenticated (even low-privilege) account, so this is a privilege-escalation-of-access / broken-access-control problem, not an unauthenticated breach. Impact is confined to confidentiality (VC:H; integrity and availability N), which matches the leak of MCP endpoint URLs, headers, and outbound authentication tokens. POC exploit code is publicly available and the issue was reported by a credible source (VulnCheck), which raises real-world likelihood, but there is no CISA KEV listing and no EPSS or SSVC data was supplied, so exploitation status is 'publicly available exploit code exists' - do NOT treat this as active in-the-wild exploitation. The real elevated risk here is secondary: leaked outbound auth tokens could enable lateral movement to the MCP-connected backend services, so the effective blast radius may exceed the C:H-only CVSS rating. Missing signals to note: no EPSS score, no KEV status, and no SSVC automatability/technical-impact decision data were provided.

Exploit ScenarioDerived

A low-privileged but authenticated JeecgBoot user enumerates record IDs via the unguarded /airag/app/queryById endpoint, then requests the corresponding MCP server configuration records whose authorization check is commented out. Because a public POC (poc_airag_mcp_model_and_writer.py) exists, the attacker scripts the ID harvesting and config retrieval to bulk-exfiltrate MCP endpoint URLs, request headers, and outbound authentication tokens, which can then be reused against the connected MCP/backend services.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
1 public PoC No patch listed yet 0.3% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Oct 10, 2026

Missing authorization in JeecgBoot through 3.9.5 lets any authenticated user enumerate record IDs through the unguarded /airag/app/queryById endpoint and then read MCP (Model Context Protocol) server configurations - including endpoint URLs, HTTP headers and outbound authentication tokens - because the permission check in AiragMcpController.queryById is commented out. Exploitation requires a valid JeecgBoot session at any privilege level (CVSS v4.0 PR:L, assessed CVSS 3.1 PR:L) and a deployment that actually uses the AiRAG/MCP feature with stored MCP records; a stock install without configured MCP servers exposes nothing sensitive. Publicly available exploit code exists, though the issue is a moderate-priority information-disclosure flaw (high confidentiality impact, no integrity or availability impact) rather than a remote-takeover bug, and no CISA KEV entry indicates confirmed active exploitation.

RemediationAI

No vendor-released patch identified at time of analysis for CVE-2026-108671, so remediation is limited to mitigating controls until an upstream fix ships. The most direct fix is to restore the commented-out authorization check in AiragMcpController.queryById (and audit /airag/app/queryById for the same defect) so that the record's owning tenant or an administrative role is required - redeploying a locally patched build is the only way to fully close the data path, and this carries the usual fork-maintenance burden. Until then, restrict network access to the /airag/** endpoints to trusted administrative networks or IP allowlists via the reverse proxy or Spring Security filter chain, accepting that legitimate low-privilege AI/RAG users will lose access; disable or undeploy the jeecg-boot-module-airag MCP feature on instances that do not need it, which removes the exposure entirely but disables AI/RAG functionality. Because the flaw discloses outbound authentication tokens, treat all MCP server credentials stored in JeecgBoot as potentially compromised and rotate the corresponding tokens and headers on the downstream MCP servers; also review access logs for requests to /airag/app/queryById and AiragMcpController queryById from unexpected accounts. Reference advisories: https://www.vulncheck.com/advisories/jeecgboot-through-3.9.5-missing-authorization-via-airag-airagmcp-querybyid and the proof-of-concept at https://github.com/AnkesKasty/cve-request-poc/blob/a7b6d1423555812d8efa26c91c5d0683164b31e5/JeecgBoot/poc_airag_mcp_model_and_writer.py.

Affected VersionsENISA

JeecgBoot 0 ≤3.9.5

Affected Packages

euvd jeecgboot no fix

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 whose optional airag module provides AI/RAG capabilities, including an MCP (Model Context Protocol) client configuration layer. CVE-2026-108671 is a CWE-862 Missing Authorization defect in org.jeecg.modules.airag.llm.controller.AiragMcpController: the queryById handler (around lines 164-173 of the referenced source) performs no permission verification because the authorization check is commented out in the shipped code. MCP server records are stored as entities containing a record id plus the remote MCP endpoint URL, any required HTTP headers and outbound authentication tokens used to authenticate JeecgBoot to third-party MCP servers. Because a sibling endpoint, /airag/app/queryById, is also unguarded, an authenticated user can harvest valid record ids and use them against the MCP controller to exfiltrate those secrets in a read-only fashion (VC:H, VI:N, VA:N). The CPE entry cpe:2.3:a:jeecgboot:jeecgboot:*:*:*:*:*:*:*:* reflects that the affected-line wildcard covers all builds up to and including 3.9.5; the root cause is an authorization decision that is left to client-side or absent checks rather than enforced server-side for every request.

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

Vendor (VulnCheck) PRIMARY 7.1 HIGH
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N
vuln.today AI 6.5 MEDIUM

Network-reachable endpoint, low complexity, but any valid account is required so PR:L; only confidentiality is affected (leaked tokens/configs), so I:N/A:N and scope unchanged.

3.1 AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N
4.0 AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N

Primary rating from Vendor (VulnCheck).

CVSS VectorVendor: VulnCheck

Attack Vector
Network
Attack Complexity
Low
Attack Requirements
None
Privileges Required
Low
User Interaction
None
Vulnerable system: Confidentiality
High
Vulnerable system: Integrity
None
Vulnerable system: Availability
None
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

DescriptionCVE.org

JeecgBoot through 3.9.5 contains a missing authorization vulnerability that allows any authenticated user to read MCP server configurations because the queryById permission check is commented out. Attackers can obtain record ids from the unguarded /airag/app/queryById endpoint and retrieve MCP endpoint URLs, headers, and outbound authentication tokens.

Technical POC Analysis

Note on evidence: the only artifact supplied is a PoC script (pocairagmcpmodelandwriter.py).

Full technical POC analysis - root cause, step-by-step exploitation and patch breakdown - is part of the Pro and Business plans.

Latest POC

1 public PoC link from github

Sign in to open the public PoC links collected for this CVE.

Executive ViewAI

Why It Matters

JeecgBoot deployments up to version 3.9.5 that use the AiRAG/MCP feature with stored MCP server configurations are exposed to a high-severity information disclosure flaw. An authenticated user with any privilege level can exploit publicly available exploit code to read sensitive MCP server endpoint URLs, HTTP headers, and outbound authentication tokens due to a missing authorization check. Leadership should care because exposed integration credentials could enable unauthorized access to downstream systems and lateral movement, though stock installations without configured MCP servers are not affected.

Business Impact: High
Compensating Controls

No vendor-released patch identified at time of analysis. Interim mitigations include: disable the AiRAG/MCP feature if not operationally required; block or restrict access to the /airag/app/queryById endpoint to trusted administrators only; rotate all MCP outbound authentication tokens and review MCP server configurations for unauthorized changes; implement WAF or reverse proxy rules to detect and block record ID enumeration; and monitor logs for suspicious access to the vulnerable endpoint.

Threat Intelligence Overview

EPSS Score
0.3%
Top 81% exploitable
Prevalence
Medium
popular open-source Java low-code platform, moderate enterprise adoption
Social Media
1
Sightings
Data Quality
5 sources
Confidence: Medium

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.

SignalValue
Severity HIGH
CISA KEV No
Public POC Yes
EPSS 0.3%
Patch available No
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Scheduled
Exploitation· derived
Poc
System Exposure· derived
Open
Automatable· derived
No
Human Impact
High

Priority Score

56
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +36
PoC: +20
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Authentication bypass attacks exploit flaws in the verification mechanisms that control access to systems and applications.

CVE-2026-58375 HIGH POC
8.7 Jun 30

Unauthenticated report data exfiltration in JimuReport (JeecgBoot) through version 2.5.0 lets remote attackers export th

CVE-2026-58377 HIGH POC
8.6 Jun 30

Broken access control in JeecgBoot through 3.9.2 lets authenticated low-privilege users reach the OpenApiAuthController

CVE-2026-108657 HIGH POC
8.6 Oct 10

Privilege escalation in JeecgBoot through 3.9.5 lets any authenticated user approve their own pending tenant administrat

CVE-2026-108628 HIGH POC
8.6 Oct 10

Missing authorization in the saveDeptRolePermission endpoint of JeecgBoot's SysDepartPermissionController lets any authe

CVE-2024-57606 HIGH POC
7.5 Feb 07

SQL injection vulnerability in Beijing Guoju Information Technology Co., Ltd JeecgBoot v.3.7.2 allows a remote attacker

CVE-2023-34603 HIGH POC
7.5 Jun 19

JeecgBoot up to v 3.5.1 was discovered to contain a SQL injection vulnerability via the component queryFilterTableDictIn

CVE-2023-34602 HIGH POC
7.5 Jun 19

JeecgBoot up to v 3.5.1 was discovered to contain a SQL injection vulnerability via the component queryTableDictItemsByC

CVE-2026-108623 HIGH POC
7.1 Oct 10

JeecgBoot through 3.9.5 ships a system log controller whose batch-delete handler performs no authorization check, so any

CVE-2026-108648 HIGH POC
7.1 Oct 10

Database credential disclosure in JeecgBoot through 3.9.5 allows any authenticated low-privileged user to retrieve JDBC

CVE-2026-108677 HIGH POC
7.1 Oct 10

Authenticated low-privileged users of JeecgBoot through 3.9.5 can retrieve any other user's stored password ciphertext t

CVE-2026-108883 HIGH POC
7.1 Oct 11

Authenticated users of any privilege level on JeecgBoot through 3.9.5 can rewrite DingTalk, WeCom, or Feishu third-party

CVE-2026-108661 HIGH POC
7.1 Oct 10

Tenant ownership takeover in JeecgBoot through 3.9.5 lets any authenticated user - regardless of privilege level - reass

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy