From SQLi to RCE Exploiting LangGraph s Checkpointer
LangGraph checkpointers let AI agents keep state across runs, but a flaw lets attackers turn that persistence into remote code execution.
An SQL injection in the SQLite checkpointer lets unprivileged users overwrite the stored graph state and force arbitrary Python execution when the agent resumes. The issue affects LangGraph versions before 0.3.0.
Anyone running LangGraph agents that use the default SQLite checkpointer on shared or multi-tenant setups is exposed, including internal tools and production workflows.
The proof-of-concept uses a single malicious state blob under 300 bytes to achieve full RCE on the next agent run.
