GitHubの脆弱性情報データベースに、LangGraphの名前空間処理の欠陥「CVE-2026-115883」が掲載されています。PostgresとSQLiteのストアでは、利用者ごとに分けたはずの保存領域を越えて、データを読み取り・上書き・削除される恐れがあります。公表日は資料には書かれていません。
利用者を分ける名前空間が同一視される
名前空間は、データを区分するための仕組みです。今回の欠陥は、名前空間のラベルを「.」でつないで保存する処理にあります。ラベル自体に「.」が含まれると、異なる名前空間が同じものとして扱われます。
通常の書き込みに使うput/aput以外では、このラベルの検証が欠けていました。読み取りのget、検索のsearch、削除のdelete、名前空間一覧を取得するlist_namespacesと、それぞれの非同期版が対象です。複数の操作をまとめるbatch/abatchに直接渡す操作も、PutOpを含めて検証されていませんでした。
影響するのは、名前空間で利用者やテナントを分離し、信頼できない入力からラベルを指定する構成です。保存領域を分けていることだけで、利用者間のアクセスを防げるとは判断できません。
保存先と運用形態で修正の適用方法が異なる
影響対象は、langgraph-checkpoint-postgresの3.1.3未満と、langgraph-checkpoint-sqliteの3.1.2未満の全リリースです。対策は、それぞれ3.1.3と3.1.2への更新です。両修正版とも、共通の依存パッケージであるlanggraph-checkpoint 4.3.0を必要とします。
修正版では、読み取り・削除・検索・名前空間一覧取得でもラベルを検証します。空のラベル、文字列以外のラベル、「.」を含むラベルはInvalidNamespaceErrorで拒否されます。batch/abatchの全操作にも同じ検証が適用されます。
LangSmith Deploymentでは、HTTP経由のストアAPIは従来から該当ラベルを拒否していました。ただし、グラフコードからストアを呼び出す場合には同じ欠陥があります。Agent Serverは0.15.5と0.16.2から該当ラベルを拒否します。
LangSmith Cloudの新規デプロイと新規リビジョンには修正が適用済みです。既存デプロイは次のリビジョンで適用されます。セルフホストのLangSmith Deploymentには更新が推奨されています。日本での提供は発表には書かれていません。
影響する会社・しない会社
- 影響する: 対象版のPostgres・SQLiteストアを使い、名前空間で利用者やテナントを分離しつつ、信頼できない入力でラベルを指定する会社です。
- 影響する: LangSmith Deploymentで、グラフコードから対象のストアを呼び出す会社です。HTTPストアAPI側の検証だけでは、この経路を対象外と判断できません。
- 影響しない: InMemoryStoreを使う構成です。名前空間をタプルというデータの組として比較するため、この欠陥の影響を受けません。
- 影響しない: LangSmith DeploymentのHTTPストアAPIだけを使う経路です。このAPIは従来から該当ラベルを拒否しています。グラフコードからの呼び出しは別に確認が必要です。