CVE-2026-121938

A character ID can expose another AiDeepin user’s chat history

moyangzhan · langchain4j-aideepin character chat

First documented disclosure · Review checkpoint

Summary

An authenticated user who learns a character UUID can request the owner’s conversation.

Severity and exploitation evidence

Medium · 6.0/10 · CVSS 4.0. Severity source.

Exploitation not established: The researcher traced the affected code in v3.30.0 without testing a live deployment. Malicious exploitation is unestablished.

Exploitation evidence source

Technical severity is not a measure of observed attacks or of risk to your deployment. Attempts, demonstrations, and successful compromise retain the qualifications in the source.

How the weakness works

The character-detail endpoint resolves a UUID and fetches messages without checking whether the caller owns the character.

Conditions required

The caller has an account and obtains a valid character UUID, for example from a shared reference. These UUIDs are not sequential.

Potential impact

The response can expose prompts, model replies and links to attachments or audio.

Affected versions and configurations

Versions before 3.31.0 according to the CNA. The researcher reviewed v3.30.0.

Fix and mitigation status

The 3.31.0 tag points to merge 9b2fee6. It adds ownership checks and scopes the message paging cursor for this endpoint.

Practical next steps

Update to a release containing the character-detail fix. Check authorization separately on endpoints that retrieve references for individual messages.

Operating lesson

Test reads with a valid UUID that belongs to a different user, including follow-up requests that use a cursor.

Evidence and limits

The public issue dates to October 22. The pull request, tag and November 4 CNA identify the character-history fix. The researcher also describes message-reference endpoints, which the patch author explicitly placed outside this fix.

Sources