{"id":"CVE-2025-64104","summary":"LangGraph SQLite Checkpoint Filter Key SQL Injection POC for SqliteStore","details":"LangGraph SQLite Checkpoint is an implementation of LangGraph CheckpointSaver that uses SQLite DB (both sync and async, via aiosqlite). Prior to 2.0.11, LangGraph's SQLite store implementation contains SQL injection vulnerabilities using direct string concatenation without proper parameterization, allowing attackers to inject arbitrary SQL and bypass access controls. This vulnerability is fixed in 2.0.11.","aliases":["GHSA-7p73-8jqx-23r8","PYSEC-2026-1529"],"modified":"2026-08-12T03:51:22.871973609Z","published":"2025-10-29T18:55:06.129Z","database_specific":{"cna_assigner":"GitHub_M","cwe_ids":["CWE-89"],"osv_generated_from":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2025/64xxx/CVE-2025-64104.json"},"references":[{"type":"ADVISORY","url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2025/64xxx/CVE-2025-64104.json"},{"type":"ADVISORY","url":"https://github.com/langchain-ai/langgraph/security/advisories/GHSA-7p73-8jqx-23r8"},{"type":"ADVISORY","url":"https://nvd.nist.gov/vuln/detail/CVE-2025-64104"},{"type":"FIX","url":"https://github.com/langchain-ai/langgraph/commit/bc9d45b476101e441cb1cc602dea03eb29232de4"}],"affected":[{"ranges":[{"type":"GIT","repo":"https://github.com/langchain-ai/langgraph","events":[{"introduced":"0"},{"fixed":"bc9d45b476101e441cb1cc602dea03eb29232de4"}],"database_specific":{"extracted_events":[{"introduced":"0"},{"fixed":"2.0.11"}],"source":["AFFECTED_FIELD","REFERENCES"]}}],"versions":["sdk==0.2.0a1","0.6.0a1","cli==0.3.6","sdk==0.2.0","0.5.4","sdk==0.1.74","cli==0.3.5","checkpoint==2.1.1","checkpointpostgres==2.0.23","sdk==0.1.73","0.5.3","checkpointpostgres==2.0.22","0.5.2","cli==0.3.4","0.5.1","prebuilt==0.5.2","prebuilt==0.5.1","sdk==0.1.72","prebuilt==0.5.0","0.5.0","sdk==0.1.71","0.5.0rc1","prebuilt==0.5.0rc0","0.5.0rc0","checkpoint==2.1.0","cli==0.3.2","cli==0.3.3","cli==0.3.1","cli==0.2.12","cli==0.2.11","prebuilt==0.2.2","0.4.7","0.4.6","prebuilt==0.2.1","prebuilt==0.2.0","sdk==0.1.70","checkpointsqlite==2.0.10","checkpointsqlite==2.0.9","checkpointsqlite==2.0.8","0.4.5","checkpoint==2.0.26","0.4.4","sdk==0.1.69","cli==0.2.10","cli==0.2.9","0.4.3","0.4.2","checkpointsqlite==2.0.7","cli==0.2.8","sdk==0.1.66","sdk==0.1.65","0.4.1","sdk==0.1.64","0.4.0","checkpoint==2.0.25","0.3.34","0.3.32","cli==0.2.7","cli==0.2.6","sdk==0.1.63","sdk==0.1.62","checkpointpostgres==2.0.21","checkpointpostgres==2.0.20","cli==0.2.5","0.3.31","cli==0.2.4","0.3.30","0.3.29","cli==0.2.3","0.3.28","cli==0.2.2","cli==0.2.1","0.3.27","0.3.26","cli==0.1.89","0.3.25","prebuilt==0.1.8","cli==0.1.84","sdk==0.1.61","checkpoint==2.0.24","0.3.24","0.3.23","cli==0.1.83","0.3.22","cli==0.1.82","cli==0.1.81","sdk==0.1.60","0.3.21","prebuilt==0.1.7","cli==0.1.80","sdk==0.1.59","prebuilt==0.1.6","prebuilt==0.1.5","0.3.20","checkpoint==2.0.23","checkpoint==2.0.22","0.3.19","cli==0.1.79","prebuilt==0.1.4","cli==0.1.78","checkpointpostgres==2.0.19","0.3.18","sdk==0.1.58","0.3.17","0.3.16","0.3.15","0.3.14","0.3.13","0.3.12","checkpoint==2.0.21","checkpointpostgres==2.0.18","0.3.11","cli==0.1.77","checkpointpostgres==2.0.17","checkpoint==2.0.20","0.3.10","sdk==0.1.57","prebuilt==0.1.3","0.3.8","sdk==0.1.56","cli==0.1.76","checkpoint==2.0.19","0.3.7","0.3.6","checkpointsqlite==2.0.6","checkpointpostgres==2.0.16","checkpoint==2.0.18","sdk==0.1.55","checkpoint==2.0.17","cli==0.1.75","prebuilt==0.1.2","0.3.5","0.3.4","0.3.3","0.3.2","cli==0.1.74","0.3.1","prebuilt==0.1.1","prebuilt==0.1.0","0.3.0","0.2.76","0.2.75","cli==0.1.73","sdk==0.1.53","cli==0.1.72","0.2.74","checkpoint==2.0.16","checkpointsqlite==2.0.5","checkpointpostgres==2.0.15","0.2.73","checkpoint==2.0.15","checkpoint==2.0.14","0.2.72","checkpointsqlite==2.0.4","checkpointpostgres==2.0.14","checkpoint==2.0.13","0.2.71","checkpoint==2.0.12","cli==0.1.71","0.2.70","0.2.69","cli==0.1.70","0.2.68","cli==0.1.69","0.2.67","0.2.66","0.2.65","cli==0.1.68","0.2.64","0.2.63","checkpointpostgres==2.0.13","checkpointsqlite==2.0.3","checkpointpostgres==2.0.12","checkpoint==2.0.10","checkpointduckdb==2.0.2","checkpointsqlite==2.0.2","checkpointpostgres==2.0.11","cli==0.1.67","cli==0.1.66","0.2.62","checkpointpostgres==2.0.10","sdk==0.1.51","sdk==0.1.50","0.2.61","checkpointpostgres==2.0.9","cli==0.1.65","sdk==0.1.48","0.2.60","sdk==0.1.47","sdk==0.1.46","cli==0.1.64","cli==0.1.63","cli==0.1.62","sdk==0.1.45","checkpoint==2.0.9","sdk==0.1.44","0.2.59","0.2.58","0.2.57","checkpointpostgres==2.0.8","sdk==0.1.43","0.2.56","0.2.55","0.2.54","sdk==0.1.42","checkpoint==2.0.8","checkpointpostgres==2.0.7","checkpointpostgres==2.0.6","cli==0.1.61","cli==0.1.60","checkpointpostgres==2.0.5","sdk==0.1.40","checkpoint==2.0.7","sdk==0.1.39","sdk==0.1.38","sdk==0.1.37","checkpointpostgres==2.0.4","checkpoint==2.0.6","cli==0.1.59","cli==0.1.58","cli==0.1.57","cli==0.1.56","0.2.53","cli==0.1.55","cli==0.1.55rc1","0.2.52","0.2.51","checkpointpostgres==2.0.3","checkpoint==2.0.5","0.2.50","0.2.49","cli==0.1.54","0.2.48","checkpoint==2.0.4","sdk==0.1.36","0.2.47","checkpoint==2.0.3","0.2.46","0.2.45","cli==0.1.53","0.2.44","0.2.43","0.2.42","0.2.41","0.2.40","sdk==0.1.35","sdk==0.1.34","checkpointsqlite==2.0.1","checkpointpostgres==2.0.2","checkpointduckdb==2.0.1","checkpoint==2.0.2","checkpointduckdb==2.0.0","0.2.39","0.2.38","0.2.37","sdk==0.1.33","0.2.36","0.2.35","checkpointpostgres==2.0.1","checkpoint==2.0.1","0.2.34","0.2.33","checkpointpostgres==2.0.0","checkpointsqlite==2.0.0","0.2.32","checkpoint==2.0.0","sdk==0.1.32","checkpointpostgres==1.0.11","0.2.31","checkpointpostgres==1.0.10","0.2.30","checkpoint==1.0.14","checkpoint==1.0.13","0.2.29","checkpointpostgres==1.0.9","checkpoint==1.0.12","0.2.28","0.2.27","0.2.26","checkpointsqlite==1.0.4","checkpointpostgres==1.0.8","checkpoint==1.0.11","0.2.25","sdk==0.1.31","0.2.24","0.2.23","checkpointpostgres==1.0.7","checkpoint==1.0.10","0.2.22","0.2.21","0.2.20","0.2.19","0.2.18","checkpoint==1.0.9","0.2.17","checkpointsqlite==1.0.3","checkpointsqlite==1.0.2","checkpointpostgres==1.0.6","0.2.16","checkpoint==1.0.8","0.2.15","sdk==0.1.30","checkpointsqlite==1.0.1","checkpointpostgres==1.0.5","checkpoint==1.0.7","cli==0.1.52","checkpointpostgres==1.0.4","sdk==0.1.29","0.2.13","cli==0.1.51","0.2.12","checkpoint==1.0.4","0.2.11","0.2.10","0.2.9","sdk==0.1.28","0.2.7","0.2.6","0.2.5","0.2.4","checkpoint==1.0.3","checkpointpostgres==1.0.3","checkpointpostgres==1.0.2","0.2.3","checkpointpostgres==1.0.1","0.2.2","0.2.1","checkpoint==1.0.2","0.2.0","checkpointpostgres==1.0.0","checkpointsqlite==1.0.0","checkpoint==1.0.1","sdk==0.1.27","checkpoint==1.0.0","0.1.17","0.1.16","0.1.15","0.1.14","0.1.13","0.1.12","0.1.11","0.1.10","cli==0.1.50","0.1.9","cli==0.1.49","sdk==0.1.26","0.1.8","0.1.7","0.1.6","cli==0.1.48","0.1.5","cli==0.1.47","0.1.4","0.1.3","cli==0.1.46","cli==0.1.45","cli==0.1.45a1","0.1.2","sdk==0.1.25","sdk==0.1.24","cli==0.1.45a0","cli==0.1.44","cli==0.1.42","cli==0.1.41","cli==0.1.40","sdk==0.1.23","langgraph-cli==0.1.39","v0.0.8","v0.0.6","v0.0.5","v0.0.4","v0.0.3"],"database_specific":{"source":"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2025-64104.json"}}],"schema_version":"1.9.0","severity":[{"type":"CVSS_V3","score":"CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:C/C:H/I:L/A:N"}]}