Skip to main content

JeecgBoot CVE-2026-108608

| EUVDEUVD-2026-96547 MEDIUM
Authorization Bypass Through User-Controlled Key (CWE-639)
2026-10-10 VulnCheck GHSA-c23h-4967-rhxw
5.3
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-privileged user
  2. Exploit
    Enumerate victim record ids via listByUser
  3. Execution
    Send DELETE with arbitrary victim userId
  4. Impact
    Erase victim voice records from Redis

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V8 - Authorization Object-level authorization, IDOR prevention
Exploitation Conditions

Requires a valid authenticated JeecgBoot account of any privilege level (CVSS PR:L) with access to the AiRAG voice feature; exploitation targets the DELETE /airag/voice/deleteVoiceRecord endpoint, which trusts an attacker-supplied userId instead of the session identity, combined with the GET /airag/voice/listByUser endpoint that returns record ids without an ownership check. No user interaction or non-default configuration is needed beyond the AI voice/text-to-speech feature being in use with records stored in Redis. Limiting factors: an authenticated account is mandatory (not remote-unauthenticated), impact is confined to deletion of other users' voice history one record per request, and there is no confidentiality or availability compromise of the host system.

Impact

This is a genuine-but-low-priority authorization flaw. The CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:L/UI:N) scores 5.3 (medium), and the signals are internally consistent: network-reachable, low complexity, but requires an authenticated low-privileged account (PR:L) and yields only limited integrity impact (VI:L) with no confidentiality or availability impact (VC:N/VA:N). The CWE-639 IDOR matches the description exactly. Publicly available POC code exists (AnkesKasty cve-request-poc) and the issue was reported by VulnCheck, but the CVE is NOT in CISA KEV and no EPSS score was provided in the input, so there is no evidence of active exploitation or widespread automated targeting - POC availability and active exploitation are distinct signals and only the former is present here. The real-world impact ceiling is modest: an attacker can delete other users' text-to-speech history entries from Redis one record per request - annoyance/data-tampering, not account takeover, RCE, or data exfiltration. Net: a legitimate bug worth patching but not an emergency; treat as routine remediation unless JeecgBoot is internet-exposed with untrusted authenticated users.

Exploit ScenarioDerived

A low-privileged authenticated JeecgBoot user calls the unchecked GET /airag/voice/listByUser endpoint to harvest record ids belonging to other users, then issues DELETE /airag/voice/deleteVoiceRecord requests supplying an arbitrary victim userId to erase their AI voice/text-to-speech history from Redis. A working Python POC is publicly available, and because the flaw is network-reachable with low attack complexity, each request deletes one victim record.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
No patch listed yet 0.2% exploitation probability (EPSS)

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

Alert me

AnalysisAIv1 – Oct 10, 2026

Authenticated JeecgBoot users running version 3.9.5 or earlier can delete other users' stored AI voice (text-to-speech) history by passing an arbitrary userId to the DELETE /airag/voice/deleteVoiceRecord endpoint, which trusts the client-supplied identifier instead of the caller's session identity. Victims' record IDs are easily enumerated from the ownership-unchecked GET /airag/voice/listByUser endpoint, and deletion proceeds one record per request against history held in Redis; a publicly available exploit script is referenced in the VulnCheck advisory. Impact is limited to unauthorized modification (loss) of voice records with no confidentiality or host availability impact, there is no CISA KEV listing, and any valid authenticated account, regardless of privilege level, is sufficient to exploit the flaw.

RemediationAI

No vendor-released patch was identified at time of analysis, so the primary action is to upgrade to the first JeecgBoot release after 3.9.5 once the maintainers publish a fix that derives the userId from the authenticated session rather than the request body. Where immediate upgrade is not possible, apply a code-level fix in VoiceController.java (lambdas around lines 83-90) so deleteVoiceRecord and listByUser resolve the current login user via the authenticated subject and reject any request whose target userId differs from the session identity; this is the only mitigation that fully closes the flaw, but it requires maintaining a forked build. As compensating controls with explicit trade-offs: restrict the /airag/voice/* endpoints at the gateway, reverse proxy, or Spring Security filter chain to highly trusted roles - this reduces the attacker pool but does not fix the underlying IDOR for legitimate users; disable the AI voice/text-to-speech module entirely if the feature is unused, which eliminates exposure at the cost of losing that functionality; and rotate or clear the Redis voice-record keyspace if you have evidence of abuse, accepting that this destroys all users' TTS history. Monitor JeecgBoot's repository and the VulnCheck advisory at https://www.vulncheck.com/advisories/jeecgboot-through-3.9.5-idor-via-deletevoicerecord-userid-parameter for an official patched version before assuming the issue is resolved.

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

The issue is an insecure direct object reference / authorization bypass through a user-controlled key (CWE-639) in the AiRAG module of JeecgBoot, a Java/Spring Boot low-code development platform. The vulnerable logic lives in jeecg-boot-module-airag, in VoiceController.java around lines 83-90, where the delete handler accepts the userId (and record identifiers) from the request rather than deriving the owner from the authenticated subject, and the companion listByUser handler returns record metadata without verifying that the records belong to the caller. Because the AI voice feature persists text-to-speech history entries in Redis, the controller operations map to simple cache-key lookups and deletions, so the missing ownership check yields a direct, low-complexity write operation on another tenant's/user's data. The CPE string cpe:2.3:a:jeecgboot:jeecgboot:*:*:*:*:*:*:*:* confirms that all released JeecgBoot versions up to and including 3.9.5 are affected. The assessed vector (CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:L/A:N) reflects network reachability with low attack complexity, but requires an authenticated account (PR:L) and yields only limited integrity impact - no confidentiality loss and no degradation of the underlying host.

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 5.3 MEDIUM
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:N/VI:L/VA:N/SC:N/SI:N/SA:N
vuln.today AI 4.3 MEDIUM

Network-reachable endpoint with low complexity and no user interaction, but requires an authenticated account (PR:L); only cross-user data deletion gives limited integrity impact (I:L), with no confidentiality or system-availability loss.

3.1 AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:L/A:N
4.0 AV:N/AC:L/AT:N/PR:L/UI:N/VC:N/VI:L/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
None
Vulnerable system: Integrity
Low
Vulnerable system: Availability
None
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

DescriptionCVE.org

JeecgBoot through 3.9.5 contains an insecure direct object reference vulnerability that allows authenticated users to delete other users' AI voice records by supplying an arbitrary userId to DELETE /airag/voice/deleteVoiceRecord. Attackers can obtain record ids from the unchecked GET /airag/voice/listByUser endpoint and delete victims' text-to-speech history entries stored in Redis, one per request.

Threat Intelligence Overview

EPSS Score
0.2%
Top 86% exploitable
Prevalence
Medium
popular open-source Chinese low-code platform, common but not ubiquitous
Exploit
POC
Public exploit code exists
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 MEDIUM
CISA KEV No
Public POC Yes
EPSS 0.2%
Patch available No
Active threat No
Deciding rule
MEDIUM severity (CVSS 4.0-6.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· derived
Medium

Priority Score

46
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +26
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-108671 HIGH POC
7.1 Oct 10

Missing authorization in JeecgBoot through 3.9.5 lets any authenticated user enumerate record IDs through the unguarded

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

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