Description
langchain4j-aideepin before 3.31.0 contains an insecure direct object reference vulnerability that allows authenticated users to read other users' character-chat conversations by supplying their character uuid. Attackers can request GET /character/{uuid}, which CharacterService.detail resolves without an ownership check, to obtain victims' questions, AI answers, and attachment and audio URLs.
Affected products
| Vendor | Product | Affected | Fixed |
|---|---|---|---|
| moyangzhan | langchain4j-aideepin | < 3.31.0 | 3.31.0 |
References
- https://github.com/moyangzhan/langchain4j-aideepin/issues/116 issue-tracking
- https://hackmd.io/@hieuPenguinnn/langchain4j-aideepin-character-conversation-cross-user-idor third-party-advisory
- https://github.com/moyangzhan/langchain4j-aideepin/pull/117 issue-tracking patch
- https://github.com/moyangzhan/langchain4j-aideepin/commit/9b2fee6b66836a0efd5599cfcddd05b80b05ca93 patch
- https://github.com/moyangzhan/langchain4j-aideepin/blob/v3.30.0/server/adi-common/src/main/java/com/moyz/adi/common/service/CharacterService.java#L105-L125 technical-description
- VulnCheck Advisory: langchain4j-aideepin before 3.31.0 IDOR via GET /character/{uuid} third-party-advisory