Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessReach network-exposed sync endpoint
-
DeliveryForge JWT for target user_id
-
ExploitBypass disabled signature verification
-
ExecutionAuthenticate to /sync/push and /sync/pull
-
ImpactRead victim sync state and inject corrupt state
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A04:2025 - Cryptographic Failures
ASVS 5.0
V11 - Cryptography Signature verification
|
| Exploitation Conditions | Requires that the Mnemosyne sync server endpoint (the JWT-authenticated /sync/status, /sync/push, /sync/pull routes in mnemosyne/core/sync_server.py) be network-reachable by the attacker; against a reachable endpoint on any version <= 3.10.0, exploitation is remote and unauthenticated with no user interaction, since any well-formed JWT (including alg:none or wrong-key) is accepted. The primary limiting factor is network exposure: deployments that bind to localhost, sit behind a reverse proxy with mTLS, or are firewalled to trusted clients are not exploitable, and the vendor explicitly states the flaw 'is not exploitable against an unreachable endpoint,' dropping effective severity to High/Medium for localhost-only setups. |
| Impact | This is a genuine high-priority issue where the CVSS 9.1 aligns with real-world impact rather than being an inflated score. The CVSS 3.1 vector (AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N) indicates a network-reachable, low-complexity, unauthenticated attack with full confidentiality and integrity compromise, which the source code and advisory corroborate: the sync server base64-decoded JWT headers/payloads but invoked the JWT library with options that disabled signature verification, so any well-formed token - including alg:none and wrong-key tokens - was accepted. A working proof-of-concept (forge_jwt) is published in the GHSA advisory, so publicly available exploit code exists, though this must not be conflated with active exploitation. No EPSS score and no CISA KEV entry were provided, so there is no evidence of widespread or automated exploitation in the wild; the risk is elevated by exploit simplicity and a public POC, but tempered by the product's niche footprint. The one material caveat, stated explicitly by the vendor, is that the 9.1 assumes the sync endpoint is network-reachable - for localhost-only or mTLS-fronted deployments the effective severity drops to High/Medium, so defenders should verify their actual exposure before treating this as an internet-facing critical. |
| Exploit ScenarioDerived | An attacker who can reach the sync server endpoint over the network crafts a JWT with an arbitrary user_id and a far-future exp, needing no secret and no valid signature (the advisory ships a copy-paste forge_jwt POC). They present it as a bearer token to /sync/status, /sync/push, and /sync/pull to impersonate any user, read that victim's sync state, and push malicious sync state to corrupt the victim's local database. In a shared multi-user deployment this also enables lateral pivoting between users. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Sep 18, 2026
Authentication bypass in the Mnemosyne sync server (mnemosyne-memory through v3.10.0) lets an unauthenticated, network-positioned attacker forge a JWT bearer token - including one using alg: none or signed with the wrong key - and impersonate any user_id to read that victim's synchronized memory state or push malicious state that corrupts their local database. Rated CVSS 9.1 (AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N) with no availability impact, the flaw is remediated in v3.10.1, and a token-forging reproduction is published in the vendor's GHSA-xcw4-53cc-hv32 advisory, meaning publicly available exploit code exists, although no confirmed active exploitation has been reported. Practical exploitability is governed entirely by network exposure: deployments that bind the sync endpoint to localhost, front it with mTLS, or firewall it to trusted clients are not reachable and the vendor explicitly notes the issue 'is not exploitable against an unreachable endpoint,' reducing effective severity to High or Medium for those configurations.
RemediationAI
Upgrade immediately: run 'pip install --upgrade mnemosyne-memory==3.10.1' (Vendor-released patch: 3.10.1), which installs the rewritten HS256 verifier from commit a0b6b871 (PR #373) and rejects alg: none, wrong-key signatures, expired tokens, and malformed payloads; see https://github.com/mnemosyne-oss/mnemosyne/releases/tag/v3.10.1 and the advisory at https://github.com/mnemosyne-oss/mnemosyne/security/advisories/GHSA-xcw4-53cc-hv32. If the sync server cannot be patched right away, the vendor's compensating control is to eliminate reachability of the endpoint, since the flaw cannot be triggered against an unreachable service: bind the sync server to 127.0.0.1 and reach it over an SSH tunnel (fastest and side-effect free, but breaks any remote or multi-host sync clients until tunneling is arranged), or place a reverse proxy in front that enforces mTLS for /sync/status, /sync/push, and /sync/pull (adds certificate lifecycle management overhead and can break clients without client certs), or apply firewall rules restricting the sync port to trusted client IPs (simple, but brittle with roaming or dynamic-IP clients). Note that rotating the JWT shared secret alone does not mitigate the pre-patch flaw, because signature verification is disabled and any well-formed token is accepted regardless of the key. Also audit sync logs and stored state for forged user_id activity on any instance that was exposed before patching.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 2 packages in pypi, euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
The weakness class is CWE-347, Improper Verification of Cryptographic Signature, and the technology at issue is JSON Web Token bearer authentication over a Python HTTP sync service. Prior to v3.10.1, the auth routine in mnemosyne/core/sync_server.py split the compact token on '.' and base64url-decoded the payload to read the user_id and exp claims, but it passed the token to a jwt library call with options that effectively disabled signature verification; the HMAC-SHA256 signature over the 'header.payload' signing input was never checked. Any well-formed three-segment token was therefore accepted, including tokens declaring alg: none and tokens signed with an attacker-controlled key, and the server trusted the attacker-supplied user_id claim. The affected package is tracked by CPE cpe:2.3:a:axdsan:mnemosyne:*:*:*:*:*:*:*:* (pip package mnemosyne-memory). The v3.10.1 fix (commit a0b6b871, PR #373) removes the broken decode path and replaces it with a from-scratch verifier implemented only with the Python standard library: a strict alg: HS256 allowlist that rejects none and asymmetric algorithms, constant-time signature comparison via hmac.compare_digest, UTC-aware exp validation with leeway, explicit type validation of the decoded JSON payload before use, and specific error messages on failure. New regression tests in tests/test_sync.py exercise forged tokens with custom headers and signatures.
Know when Mnemosyne gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N
Remote unauthenticated JWT forgery with no user interaction fully compromises confidentiality and integrity of sync data; no availability impact, scope unchanged as the sync server's own auth is the target.
Primary rating from Vendor (GitHub_M).
CVSS VectorVendor: GitHub_M
Lifecycle Timeline
2DescriptionCVE.org
Mnemosyne is a memory layer for artificial intelligence agents. Prior to v3.10.1, the auth check in mnemosyne/core/sync_server.py parsed the JWT's header and payload using base64 decoding, then passed the token to a jwt library call with options that effectively disabled signature verification. The server accepted any well-formed token regardless of the signature, including tokens with alg: none and tokens signed with the wrong key. The fix in v3.10.1 replaces the broken decode with a from-scratch HS256 verifier using only the Python standard library. For users who cannot upgrade immediately, restrict network access to the sync server endpoint to trusted clients only. Firewall, reverse proxy with mTLS, or localhost bind with SSH tunnel are all viable. The vulnerability is not exploitable against an unreachable endpoint.
Technical POC Analysis
Bug class: CWE-347, Improper Verification of Cryptographic Signature.
Full technical POC analysis - root cause, step-by-step exploitation and patch breakdown - is part of the Pro and Business plans.
Latest POC
1 PoC candidate from github (unverified)
Sign in to open the public PoC links collected for this CVE.
Executive ViewAI
The Mnemosyne sync server (mnemosyne-memory through v3.10.0) contains an authentication bypass that allows an unauthenticated, network-positioned attacker to impersonate any user and read or corrupt that user's synchronized memory state. Any organization running a network-reachable Mnemosyne sync endpoint is affected, with potential exposure of sensitive synchronized data and integrity of users' local databases; deployments where the endpoint is bound to localhost or otherwise unreachable are not at risk. With a CVSS of 9.1 and publicly available exploit code but no confirmed active exploitation, this warrants urgent prioritization of the exposed deployments rather than enterprise-wide alarm.
Vendor-released patch: v3.10.1. Per the vendor advisory the flaw is remediated in v3.10.1, so apply that upgrade as the primary fix; until it is deployed, bind the sync endpoint to localhost, front it with mTLS, or firewall it to trusted clients, and rotate JWT signing keys and revoke existing tokens to limit forged-token abuse.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.
EUVD-2026-83263
GHSA-xcw4-53cc-hv32
NVD
CVE.org
EPSS
Vulnrichment
Exploit-DB