Fetching from the wire…
Public story · 2026-09-20 · high
A base64-decode-instead-of-verify bug in mnemosyne-memory accepted forged tokens including alg:none, exposing every user's stored context.
Why now: The advisory posted September 18, with the fix out in v3.10.1.
An unauthenticated attacker could forge a token for any user and read or overwrite that user's agent memory. GHSA-xcw4-53cc-hv32, published September 18, covers mnemosyne-memory through v3.10.0. The sync server took the JWT bearer token, base64-decoded it, and handed it to a JWT library with verification turned off.
That means anyone with network reach to the server could get in without a password or a valid session. Any well-formed token was accepted, including one using alg:none, per the GitHub Advisory. A token needed the right shape and whatever user_id the attacker wanted inside it. The server would decode it, trust it, and hand back that user's memory. The bug scores 9.1.
Agent memory is the accumulated context an agent builds up over time: task history, preferences, whatever it learned about the environment it runs in. Forge a token and you can read someone else's context or plant your own in it.
The fix in v3.10.1 swaps in a stdlib HS256 verifier that uses hmac.compare_digest for the signature check. It also enforces a strict alg check so a token can't downgrade itself to none, and validates exp against UTC-aware time.
Decode-not-verify is one of the oldest JWT mistakes there is. Library defaults are supposed to catch it by refusing to skip verification silently. The advisory doesn't say whether older major versions carry the same code path. Anyone running a pre-3.10.1 build should confirm their own version's fix status rather than assume.
Each link below shares sources, entities, or timing with this story.
One number predicts whether your agent finishes the task, and it isn't the benchmark score. Shubhra Mittal's paper (arXiv 2609.01660) analyzed 10,664 trajectories across nine models spanning 1.2B to 671B parameters and found task success follows P(n) = p^n, where p is a single...
claude-mem (89.3K stars) targets seven harnesses. lean-ctx (3.5K stars, Rust, 76 MCP tools) uses 60-90% token reduction as its headline metric. Wienerdog surfaced on HN August 2 offering memory plus self-improving skills for both Claude Code and Codex. All three are harness-ne...
All affect versions through v0.22.1. GHSA-xwmw-prc4-v3cr (8.8) accepted unauthenticated OAuth dynamic client registration with an arbitrary external redirect URI and auto-completed the flow with no consent screen, minting a token carrying the victim's full group set against th...
CVE-2026-86996: the "This workflow can be called by" setting was enforced by the Execute Workflow node but not consulted when the same workflow was attached to an Agent as a tool, so any user who could build an Agent could invoke a restricted workflow and read the result. Patc...
On August 25 the advisory database published 20 advisories against PraisonAI and praisonaiagents: 1 critical, 15 high, 4 medium. The recurring pattern is authentication that's declared but never enforced. praisonai serve agents --api-key is silently ignored. AgentServer declar...
1. Deploy Nemotron 3 Super for Agentic Reasoning (ml-ops, advanced) — 120B MoE activating only 12B params. vLLM with --reasoning-parser nemotron_v3. NVIDIA Blog 2. Build Multimodal RAG with Gemini Embedding 2 (ml-ops, intermediate) — Text, images, video, audio in one 3072-dim...
MindPattern daily
One email a day at 7 AM. Sources and a take on every story. Unsubscribe anytime.