Summary
CVE-2026-59163 is a critical JWT signature verification bypass affecting the sync server component of Mnemosyne, an open-source AI memory system developed by AxDSan. Versions up to and including 3.10.0 fail to validate the cryptographic signature of bearer tokens presented to the sync API, allowing any well-formed JWT — including unsigned tokens using alg: none — to be accepted as valid. This flaw carries a CVSS v3.1 base score of 9.1 (Critical) and permits unauthenticated attackers with network access to forge authentication tokens and impersonate any user.
Technical details
- Root cause: The authentication logic in
mnemosyne/core/sync_server.pydecoded the JWT header and payload using base64 decoding but invoked the JWT library with options that effectively disabled signature verification, so the cryptographic signature was never checked against the server’s secret. - Trigger conditions: Any client capable of reaching the Mnemosyne sync server over the network can submit a crafted JWT (with an arbitrary payload, an incorrect signature, or
alg: none) and have it accepted as a legitimate, authenticated request. - Attack vector: Network (AV:N), low attack complexity, no privileges required, no user interaction — the attacker only needs network access to the sync endpoints.
- Impact: Successful exploitation allows an attacker to forge tokens for arbitrary users and impersonate them against the
/sync/status,/sync/push, and/sync/pullendpoints, enabling unauthorized reading and modification of synced data and corruption of victims’ local databases (high confidentiality and integrity impact; no direct availability impact).
Affected software
- AxDSan Mnemosyne versions up to and including 3.10.0
- Fixed in version 3.10.1 (fix commit
a0b6b871)
Severity
- CVSS v3.1 Base Score: 9.1 (Critical)
- Vector:
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N
Mitigation and recommended actions
- Immediate: Upgrade Mnemosyne to version 3.10.1 or later, which implements full HMAC-SHA256 signature verification, explicit algorithm allow-listing (rejecting
alg: none), timezone-aware expiration checks, and constant-time signature comparison. - If immediate patching is not possible:
- Restrict network access to the Mnemosyne sync server using firewall rules so only trusted hosts can reach it.
- Place the sync server behind a reverse proxy enforcing mutual TLS (mTLS) authentication.
- Bind the sync server to localhost only and require an SSH tunnel for remote access until the upgrade can be applied.

