Severity by source
CVSS:4.0/AV:N/AC:H/AT:N/PR:L/UI:N/VC:L/VI:N/VA:N/SC:N/SI:N/SA:N/E:P/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
Network-reachable but requires authenticated low-priv account and high complexity to forge session hash; impact is limited to partial confidentiality of conversation history with no integrity or availability consequence.
Primary rating from Vendor (VulDB).
CVSS VectorVendor: VulDB
Lifecycle Timeline
2DescriptionCVE.org
A vulnerability has been found in ForceInjection AI-fundermentals 2.0/3.0. Affected by this vulnerability is the function get_conversation_history of the file 08_agentic_system/memory/langchain/code/smart_customer_service.py of the component Memory Recall Handler. The manipulation leads to use of weak hash. Remote exploitation of the attack is possible. A high degree of complexity is needed for the attack. The exploitation appears to be difficult. The exploit has been disclosed to the public and may be used. The identifier of the patch is f57277fdd9ba373ace72d83c272023ec67f720d6. It is suggested to install a patch to address this issue. The project confirms (translated from Chinese): "We now require session ownership verification in methods such as username, sessionowner, etc., and we've chat()changed the generation of sessionowner to include verified user identity and security context metadata."
AnalysisAI
Weak session hash generation in ForceInjection AI-fundermentals 2.0 and 3.0 exposes conversation history belonging to other users in shared deployments. The get_conversation_history function in the Memory Recall Handler generates sessionowner tokens using a cryptographically weak hash algorithm (CWE-328), allowing a low-privileged authenticated attacker to predict or brute-force another user's session identifier and retrieve their prior conversation records. A publicly available exploit exists per GitHub issue #17 and the CVSS 4.0 E:P modifier, though the high attack complexity (AC:H) and low overall score of 2.3 indicate exploitation is difficult and impact is limited to partial confidentiality loss - no integrity or availability impact is present.
Technical ContextAI
The affected code resides in 08_agentic_system/memory/langchain/code/smart_customer_service.py, a LangChain-based agentic memory component designed for multi-session customer service interactions. CWE-328 (Use of Weak Hash) identifies the root cause: the sessionowner identifier - used to gate access to per-user conversation history - was generated with an insufficiently strong hash function, meaning the token space is small enough to enumerate or predict. The CPE cpe:2.3:a:forceinjection:ai-fundermentals:*:*:*:*:*:*:*:* covers all versions of this project. The vendor's own remediation note confirms the design flaw: session ownership was not cryptographically tied to verified user identity or security context metadata until the patch introduced ownership verification in username, sessionowner, and chat() methods.
RemediationAI
Apply the upstream fix by pulling commit f57277fdd9ba373ace72d83c272023ec67f720d6 from https://github.com/ForceInjection/AI-fundamentals/commit/f57277fdd9ba373ace72d83c272023ec67f720d6 or merging PR #18 at https://github.com/ForceInjection/AI-fundamentals/pull/18; a tagged release version has not been independently confirmed, so operators should verify the fix is included in the deployed branch. As a compensating control pending patching, restrict the customer service application to a single trusted user per instance and avoid multi-user shared deployments where separate conversation histories must be isolated. Operators may also add application-level authorization checks to validate that the requesting user's authenticated identity matches the session owner before serving conversation history, mitigating the weak hash exposure without requiring a code rollout - though this approach adds maintenance overhead and should be treated as temporary.
Same weakness CWE-328 – Use of Weak Hash
View allSame technique Information Disclosure
View allShare
External POC / Exploit Code
Leaving vuln.today
EUVD-2026-41677
GHSA-g4xw-pv27-8m29