LangChain ha pubblicato due GitHub Security Advisory contro langgraph-api — il runtime di LangGraph Server alla base di LangGraph Platform, incluso l’Helm chart ufficiale — alle 18:55:57 e 18:56:03 UTC del 19 agosto. Entrambe riguardano fallimenti di autorizzazione cross-tenant in un runtime di agenti in produzione.
I due bug
CVE-2026-55236 (CVSS 5.9, orientata alla riservatezza): il percorso di creazione di una run inviava un evento di autorizzazione assistants.search, mentre le letture dirette e le operazioni cron inviavano assistants.read. Nei deployment in cui l’handler personalizzato subordinava l’accesso agli assistant a assistants.read senza un fallback globale, non veniva consultato alcun handler durante la creazione della run — il vincolo di ownership veniva meno e i campi privati metadata, config e context di un assistant di un altro utente tornavano nella risposta.
CVE-2026-55235 (CVSS 5.9, orientata all’integrità): una run o una cron poteva specificare una destinazione webhook relativa. La consegna rientrava quindi nella stessa applicazione tramite un trasporto in-process che il middleware di autenticazione considera interno e non autentica, consentendo a una richiesta di creare run o modificare lo stato delle thread di un altro utente.
Ciò che la narrazione comune sbaglia
La vicenda verrà raccontata come nuove vulnerabilità scoperte in LangGraph. Due correzioni. Primo: la fix è su PyPI dall’11 giugno 2026 — la prima versione corretta è la 0.10.0, e da allora sono uscite altre quattordici release, fino alla 0.12.6 del 18 agosto. Chiunque usasse una versione anche solo remotamente aggiornata non è mai stato esposto. Quello del 19 agosto è stato un disclosure, non una scoperta, e non una corsa ai ripari.
Secondo: "esposizione di dati cross-tenant nella piattaforma agent" sovrastima il raggio d’impatto. CVE-2026-55236 colpisce solo i deployment che avevano scritto un handler di autorizzazione personalizzato registrando assistants.read o assistants.search senza un handler globale; lo stesso advisory di LangChain afferma che i deployment senza handler personalizzati, o con filtri di ownership equivalenti su tutti gli eventi, non sono interessati. Entrambi gli advisory affermano esplicitamente: "We have no evidence of this behavior occurring in the wild."
La forma del bug è la notizia
Entrambe le falle derivano dallo stesso modo di fallire — un runtime di agenti con più di un percorso interno verso la stessa risorsa, in cui il nome dell’evento di autorizzazione diverge in uno di essi, più un trasporto "interno" che salta del tutto l’autenticazione. I server per agenti accumulano esattamente queste superfici: webhook, cron, thread e run che toccano stato condiviso attraverso punti di ingresso diversi. Questa classe di segnalazioni continuerà a ripresentarsi per ragioni strutturali, non per la negligenza di un singolo team.
