{"id":"CVE-2026-125386","kind":"vulnerability","aliases":["CVE-2026-125386"],"related":[],"title":"langchain4j-aideepin: missing owner check exposes other users' message data","description":"langchain4j-aideepin through 3.32.0 contains an insecure direct object reference vulnerability in CharacterMessageController that allows authenticated users to access other users' message references due to missing owner checks. Attackers can supply another user's message uuid to the knowledge-embedding-ref, memory-embedding-ref, or graph-ref endpoints to retrieve knowledge-base chunks, long-term memory text, and knowledge-graph data.","summary":"langchain4j-aideepin through 3.32.0 has an insecure direct object reference in CharacterMessageController. An authenticated user who supplies another user's message UUID to the knowledge-embedding-ref, memory-embedding-ref, or graph-ref endpoints can read that user's knowledge-base chunks, long-term memory text, and knowledge-graph data.","severity":"medium","cvss":6.0,"epss":null,"exploited":false,"exploited_at":null,"products":[],"ecosystems":[],"tags":["ai-tooling","langchain4j-aideepin","self-hosted"],"not_affected_if":["single-user-deployment","version-above-3.32.0"],"how_to_check":"- Check the langchain4j-aideepin version deployed; affected versions are through `3.32.0`.\n- Look for the CharacterMessageController endpoints knowledge-embedding-ref, memory-embedding-ref, and graph-ref in the deployed application.","fix":"- Patch version: unknown (the linked patch is on github.com; the sources do not state the fixed version)","status":"open","published_at":"2026-11-10T00:17:11+00:00","first_seen_at":"2026-11-10T00:28:43+00:00","triaged_at":"2026-11-10T00:30:23+00:00","updated_at":"2026-11-10T00:30:23+00:00","category":"ai-tooling","confidence":0.6,"triage":{"at":"2026-11-10T00:30:23Z","model":"claude-haiku-5-5","output":{"fix":"- Patch version: unknown (the linked patch is on github.com; the sources do not state the fixed version)","reach":"internet","title":"langchain4j-aideepin: missing owner check exposes other users' message data","impact":"medium","summary":"langchain4j-aideepin through 3.32.0 has an insecure direct object reference in CharacterMessageController. An authenticated user who supplies another user's message UUID to the knowledge-embedding-ref, memory-embedding-ref, or graph-ref endpoints can read that user's knowledge-base chunks, long-term memory text, and knowledge-graph data.","audience":"developers","category":"ai-tooling","nicknames":[],"who_cares":["langchain4j-aideepin","ai-tooling","self-hosted"],"confidence":0.6,"fix_status":"available","needs_auth":"yes","worst_case":"authenticated user reads other users' memory and knowledge data","analyst_note":"Confirm the fixed version from the linked GitHub patch and check whether the three endpoints are reachable by default.","how_to_check":"- Check the langchain4j-aideepin version deployed; affected versions are through `3.32.0`.\n- Look for the CharacterMessageController endpoints knowledge-embedding-ref, memory-embedding-ref, and graph-ref in the deployed application.\n- unknown","plain_action":"","product_name":"","needs_analyst":true,"not_affected_if":["single-user-deployment","version-above-3.32.0"],"who_is_affected":"Teams running langchain4j-aideepin through 3.32.0 with multiple user accounts, where users' knowledge bases and memory are stored in the same instance. An attacker needs a valid account and a target message UUID, so single-user deployments carry less risk.","user_interaction":"no","product_ecosystem":"","needs_special_setup":"unknown","severity_if_unknown":"medium"},"cost_usd":0.000781,"input_tokens":4633,"output_tokens":636,"severity_before":"medium"},"analyst_status":null,"analyst_note":null,"search":"'-125386':14A,17A '-2026':13A,16A '3.32.0':31B,88C 'access':103C 'ai':19B 'ai-tool':18B 'aideepin':3A,23B,29B,86C 'allow':99C 'anoth':45B,116C 'attack':113C 'authent':41B,100C 'base':72B,140C 'charactermessagecontrol':39B,97C 'check':6A,112C 'chunk':73B,141C 'contain':89C 'cve':12A,15A 'data':11A,83B,151C 'direct':35B,92C 'due':108C 'embed':54B,58B,125C,129C 'endpoint':64B,135C 'expos':7A 'graph':62B,82B,133C,150C 'graph-ref':61B,132C 'host':26B 'insecur':34B,91C 'knowledg':53B,71B,81B,124C,139C,149C 'knowledge-bas':70B,138C 'knowledge-embedding-ref':52B,123C 'knowledge-graph':80B,148C 'langchain4j':2A,22B,28B,85C 'langchain4j-aideepin':1A,21B,27B,84C 'long':75B,143C 'long-term':74B,142C 'memori':57B,77B,128C,145C 'memory-embedding-ref':56B,127C 'messag':10A,48B,106C,119C 'miss':4A,110C 'object':36B,93C 'owner':5A,111C 'read':66B 'ref':55B,59B,63B,126C,130C,134C 'refer':37B,94C,107C 'retriev':137C 'self':25B 'self-host':24B 'suppli':44B,115C 'term':76B,144C 'text':78B,146C 'tool':20B 'user':9A,42B,46B,68B,101C,105C,117C 'uuid':49B,120C 'vulner':95C","nicknames":[],"mitigations":[],"who_affected":"Teams running langchain4j-aideepin through 3.32.0 with multiple user accounts, where users' knowledge bases and memory are stored in the same instance. An attacker needs a valid account and a target message UUID, so single-user deployments carry less risk.","tier":"B","verified":{},"analyst_revisit_at":null,"fix_status":"available","audience":"developers","plain_action":null,"pkeys":[],"ptokens":[],"labels":["aitooling","langchain4jaideepin","medium","selfhosted"],"campaign_type":null,"search_a":"'-125386':14A,17A '-2026':13A,16A 'aideepin':3A 'check':6A 'cve':12A,15A 'data':11A 'expos':7A 'langchain4j':2A 'langchain4j-aideepin':1A 'messag':10A 'miss':4A 'owner':5A 'user':9A","search_b":"'3.32.0':31B 'ai':19B 'ai-tool':18B 'aideepin':23B,29B 'anoth':45B 'authent':41B 'base':72B 'charactermessagecontrol':39B 'chunk':73B 'data':83B 'direct':35B 'embed':54B,58B 'endpoint':64B 'graph':62B,82B 'graph-ref':61B 'host':26B 'insecur':34B 'knowledg':53B,71B,81B 'knowledge-bas':70B 'knowledge-embedding-ref':52B 'knowledge-graph':80B 'langchain4j':22B,28B 'langchain4j-aideepin':21B,27B 'long':75B 'long-term':74B 'memori':57B,77B 'memory-embedding-ref':56B 'messag':48B 'object':36B 'read':66B 'ref':55B,59B,63B 'refer':37B 'self':25B 'self-host':24B 'suppli':44B 'term':76B 'text':78B 'tool':20B 'user':42B,46B,68B 'uuid':49B","search_c":"'3.32.0':88C 'access':103C 'aideepin':86C 'allow':99C 'anoth':116C 'attack':113C 'authent':100C 'base':140C 'charactermessagecontrol':97C 'check':112C 'chunk':141C 'contain':89C 'data':151C 'direct':92C 'due':108C 'embed':125C,129C 'endpoint':135C 'graph':133C,150C 'graph-ref':132C 'insecur':91C 'knowledg':124C,139C,149C 'knowledge-bas':138C 'knowledge-embedding-ref':123C 'knowledge-graph':148C 'langchain4j':85C 'langchain4j-aideepin':84C 'long':143C 'long-term':142C 'memori':128C,145C 'memory-embedding-ref':127C 'messag':106C,119C 'miss':110C 'object':93C 'owner':111C 'ref':126C,130C,134C 'refer':94C,107C 'retriev':137C 'suppli':115C 'term':144C 'text':146C 'user':101C,105C,117C 'uuid':120C 'vulner':95C","cause_entry":null,"cause_path":null,"disclosures_checked_at":null,"first_public_at":"2026-11-10T00:17:11+00:00","kev":null,"cvss_vector":"CVSS:4.0/AV:N/AC:H/AT:P/PR:L/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X","cvss_by":"disclosure@vulncheck.com","poc_count":0,"sources":[{"source":"nvd","external_id":"CVE-2026-125386","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-125386","severity":null,"published_at":"2026-11-10T00:17:11+00:00","modified_at":"2026-11-10T00:17:11+00:00","first_seen_at":"2026-11-10T00:28:43+00:00","fetched_at":"2026-11-10T00:28:43+00:00","note":null}],"documents":[{"id":111562,"url":"https://github.com/moyangzhan/langchain4j-aideepin/commit/483499b1a6b4a27d856f85d88c28ae6152660953","title":"Patch: github.com","kind":"other","source":"nvd","publisher":"vendor","text":null,"published_at":null,"relation":"fix","confidence":null,"note":"Patch: github.com"},{"id":111563,"url":"https://www.vulncheck.com/advisories/langchain4j-aideepin-through-3.32.0-idor-via-character-message-reference-endpoints","title":"Third-party advisory: www.vulncheck.com","kind":"advisory","source":"nvd","publisher":"research","text":null,"published_at":null,"relation":"advisory","confidence":null,"note":"Third-party advisory: www.vulncheck.com"}],"disclosures":[],"exploit_sources":[],"notice":"Free to read, with fair use of about 60 pages a minute. For higher limits or API access: sales@infrastack.ai"}