Case · DiggingBeagle record

JeecgBoot AI-RAG endpoint permits cross-user chat-variable reads

JeecgBoot CVE-2026-108879 concerns authenticated cross-user reads of AI-RAG chat variables. The getChatVariable route trusted a caller-supplied username instead of binding memory access to the logged-in account. Actual victims, variable sensitivity and a verified patch were not documented.

Scope

Controlled finding or reported disclosure as of 2026-10-11; Specific chat variables, not automatically all Redis keys or conversation histories.

Assessment profile

Assessment method
Setting
research demonstration
Exploitation
demonstrated
Evidence
Grade C
AI role
AGAINST AI
Basis and provenance

Desk review of scoped canonical Claims, the pinned SRC-2026-CP3-JEECG-AIRAG-CHAT-IDOR Source, and the publicly accessible primary disclosure. The classification applies to the documented setting and prerequisites only. Impact remains unbanded because real victim consequences are not established, and no independent reproduction is claimed. Details: No independently confirmed affected deployment, actual cross-user data theft or patch release was documented in the advisory.

Assessed Oct 13, 2026 using diggingbeagle.assessment/1.

At a glance

Mechanism and trust boundary

  1. 01

    Authenticated request

    A lower-privileged account sends a POST carrying a chosen appId, username and chat-variable name.

    Boundary: A lower-privileged account sends a POST carrying a chosen appId, username and chat-variable name.

  2. 02

    Ownership boundary

    The AI-RAG handler uses the submitted username when selecting a Redis-backed memory variable without enforcing the logged-in caller as owner.

    Boundary: The AI-RAG handler uses the submitted username when selecting a Redis-backed memory variable without enforcing the logged-in caller as owner.

  3. 03

    Cross-user read

    A variable associated with a different account can be returned; the advisory does not establish broader Redis access.

    Boundary: A variable associated with a different account can be returned; the advisory does not establish broader Redis access.

Timeline

  1. Oct 11, 2026
    disclosure

    Public disclosure

Claims & evidence

CLM-CP3-JEECG-AIRAG-CHAT-IDOR-1GitHub Advisory GHSA-5w4w-m38r-7r7r describes CVE-2026-108879 in JeecgBoot through 3.9.5: an authenticated user can read another user’s chat variable by controlling the username parameter.supported

Basis: reported finding

Link to claim
CLM-CP3-JEECG-AIRAG-CHAT-IDOR-2The documented route is /airag/api/getChatVariable in AiragBaseApiController, scoped to application, username and variable name inputs.supported

Basis: reported finding

Link to claim
CLM-CP3-JEECG-AIRAG-CHAT-IDOR-3The October 11 GitHub Advisory lists no known patched version and describes CVE-2026-108879 as requiring an authenticated user who controls the username parameter in a getChatVariable request.supported

Basis: reported finding

Link to claim

Implications

Agent chat memory needs authorization tied to the authenticated owner and application tenant. A client-provided username must not determine access to another person's memory, even when the API already requires login.

Controls and mitigations

  • Derive or authorize the memory owner from the authenticated principal and bound tenant, not a caller-supplied username.
  • Check appId and variable access against account ownership before any Redis lookup.
  • Treat any remediation as unverified until a patched release and code-level authorization change are documented.

Unknowns and contradictions

  • No independently confirmed affected deployment, actual cross-user data theft or patch release was documented in the advisory.
  • Variable contents and exploitability under different tenant configurations remain unmeasured.

Sources and citation

Material revision history

  1. Oct 13, 2026 · Published version · first publication · revision 137