Skip to content
Heist/ feed
Back to feed
Critical

Mnemosyne has JWT signature verification bypass sync server that allows authentication bypass

Type: advisorySources: OSV

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.

Products
Not specified
Affected versions
Not specified
Fixed versions
Not specified
CVEs
CVE-2026-59163
Confirmed fixed CVEs
Not specified
Updated in this feed
4 Nov 2026, 23:36 UTC · Revision 1

Source evidence

Mnemosyne has JWT signature verification bypass sync server that allows authentication bypass

core-osv · Original source

Published 18 Sept 2026, 17:57 UTC

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.

osv:CVE-2026-59163
Complete source record
{
  "id": "7479cfbf0bc96e829684742a8e0e68670edca8c5d19202218b5565d5f16e1427",
  "url": "https://osv.dev/vulnerability/CVE-2026-59163",
  "method": "structured",
  "payload": {
    "kind": "advisory",
    "title": "Mnemosyne has JWT signature verification bypass sync server that allows authentication bypass",
    "summary": "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.",
    "evidence": "osv:CVE-2026-59163",
    "products": [],
    "severity": "critical",
    "structured": {
      "id": "CVE-2026-59163",
      "aliases": [
        "CVE-2026-59163",
        "GHSA-xcw4-53cc-hv32",
        "PYSEC-2026-4106"
      ],
      "metrics": [
        {
          "type": "CVSS_V3",
          "score": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N"
        }
      ],
      "affected": [
        {
          "ranges": [
            {
              "repo": "https://github.com/mnemosyne-oss/mnemosyne",
              "type": "GIT",
              "events": [
                {
                  "introduced": "0"
                },
                {
                  "fixed": "f8b9aa940b477797f8eec33a0282d680a43b7c50"
                },
                {
                  "fixed": "a0b6b8711a1a485304971710dc3571e29ff9dbeb"
                }
              ],
              "database_specific": {
                "extracted_events": [
                  {
                    "range": [
                      {
                        "introduced": "0"
                      },
                      {
                        "fixed": "3.10.1"
                      }
                    ],
                    "source": "AFFECTED_FIELD",
                    "strategy": "StringRangeExpression"
                  },
                  {
                    "range": [
                      {
                        "fixed": "a0b6b8711a1a485304971710dc3571e29ff9dbeb"
                      }
                    ],
                    "source": "REFERENCES_COMMIT"
                  },
                  {
                    "range": [
                      {
                        "fixed": "f8b9aa940b477797f8eec33a0282d680a43b7c50"
                      }
                    ],
                    "source": "REFERENCES_TAG",
                    "original_tag": "v3.10.1"
                  }
                ]
              }
            }
          ],
          "versions": [
            "v3.10.0",
            "v3.9.0",
            "v3.8.0",
            "v0.2.0",
            "v3.7.0",
            "v0.1.8",
            "v3.6.0",
            "v0.1.7",
            "v0.1.6",
            "v3.5.0",
            "v3.3.0",
            "v3.1.2",
            "v3.1.0",
            "v3.0.0",
            "v2.8.0",
            "v2.7.0",
            "v2.5.0",
            "v2.3",
            "v2.2.0",
            "v2.1.0",
            "v2.0.0",
            "v1.13.0",
            "v1.12.0",
            "v1.11.0",
            "v1.10.2",
            "v1.10.1",
            "v1.9.0",
            "v1.8.0",
            "v1.7.0",
            "v1.5.0",
            "v1.0.0"
          ],
          "database_specific": {
            "source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-59163.json"
          }
        }
      ],
      "modified": "2026-10-28T02:30:40.449264278Z",
      "provider": "osv",
      "references": [
        "https://github.com/mnemosyne-oss/mnemosyne/releases/tag/v3.10.1",
        "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/59xxx/CVE-2026-59163.json",
        "https://github.com/mnemosyne-oss/mnemosyne/security/advisories/GHSA-xcw4-53cc-hv32",
        "https://nvd.nist.gov/vuln/detail/CVE-2026-59163",
        "https://github.com/mnemosyne-oss/mnemosyne/commit/a0b6b8711a1a485304971710dc3571e29ff9dbeb",
        "https://github.com/mnemosyne-oss/mnemosyne/pull/373"
      ],
      "provider_metadata": {
        "cwe_ids": [
          "CWE-347"
        ],
        "cna_assigner": "GitHub_M",
        "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/59xxx/CVE-2026-59163.json"
      }
    },
    "related_cves": [
      {
        "value": "CVE-2026-59163",
        "evidence": "/id"
      }
    ],
    "security_relevant": true,
    "severity_evidence": "/severity/0/score"
  },
  "source_id": "core-osv",
  "document_id": 508036,
  "published_at": "2026-09-18T17:57:50.265+00:00"
}