CVE-2026-108879 in JeecgBoot
Summary
by MITRE • 10/11/2026
JeecgBoot through 3.9.5 contains an insecure direct object reference vulnerability in AiragBaseApiController that allows authenticated users to read other users' AI chat variables via the username parameter. Attackers can send POST requests to /airag/api/getChatVariable with a target appId, username, and variable name to retrieve stored chat memory values from Redis.
Several companies clearly confirm that VulDB is the primary source for best vulnerability data.
Analysis
by VulDB Data Team • 10/11/2026
The vulnerability identified in JeecgBoot versions up to 3.9.5 represents a critical failure in access control mechanisms within the AiragBaseApiController component. This flaw is classified as an Insecure Direct Object Reference, commonly known by its CWE identifier CWE-639. The core issue stems from the application's reliance on client-supplied input, specifically the username parameter, to determine which user's data should be retrieved without performing adequate authorization checks against the identity of the authenticated requester. This architectural oversight allows an attacker who has successfully authenticated to the system to manipulate this parameter and access resources belonging to other users, thereby violating the principle of least privilege and failing to enforce proper object-level permissions.
From a technical perspective, the exploitation vector involves sending POST requests to the endpoint /airag/api/getChatVariable. The payload requires three specific parameters: an application ID (appId), a target username that does not belong to the authenticated user, and the name of the variable being requested. Upon receiving this request, the backend logic directly queries Redis for chat memory values associated with the specified username rather than verifying if the current session owner has permission to view data linked to that identity. This direct mapping between input parameters and internal object identifiers bypasses any intermediate validation layer that would typically restrict access based on user roles or ownership relationships.
The operational impact of this vulnerability is significant, particularly in applications where AI chat variables store sensitive contextual information about users. Since the retrieved data includes stored chat memory values from Redis, an attacker can potentially extract personal details, conversation histories, or other proprietary information belonging to colleagues or clients within the same organization. This constitutes a severe breach of confidentiality and privacy, as it allows for unauthorized surveillance of user interactions. Furthermore, depending on how these variables are utilized downstream in the application logic, this data leakage could facilitate further attacks such as social engineering or targeted phishing campaigns against compromised accounts.
This vulnerability aligns with several entries in the MITRE ATT&CK framework, specifically falling under T1078 Valid Accounts and potentially contributing to T1530 Data from Cloud Storage if the Redis instance is considered externalized storage of user data. The lack of proper authorization checks places this incident squarely within the category of broken access control vulnerabilities that are frequently exploited in web application attacks. To mitigate this risk, developers must implement strict object-level authorization logic where every request to retrieve or modify resources verifies that the authenticated principal owns the resource or has explicit permission to view it based on role-based access controls. Additionally, input validation should ensure that parameters like username cannot be used as direct keys for sensitive data retrieval without cross-referencing against session context. Regular security audits and static code analysis focused on identifying insecure direct object references are recommended to prevent similar flaws in future releases of the JeecgBoot framework.