LangGraph langgraph-apiのJavaScript認証で別ユーザーのStoreデータにアクセスされる脆弱性
概要
JavaScriptまたはTypeScriptのカスタム認証を使うlanggraph-apiには、認可ハンドラーで変更された Store の権限が正しく適用されず、認証済みの一般ユーザーが他のユーザーのデータを読み書き・削除できる脆弱性があります。影響を受けるのは0.15.0より前の版で、修正版は0.15.0です。JavaScriptまたはTypeScriptのカスタム認証を使っている場合は、0.15.0以降に更新してください。
AI要約
外部の AI が作成した要約です。誤りを含むことがあります。重要な判断の前に、下の原文と参照URLを確認してください。
JavaScriptまたはTypeScriptのカスタム認証を使うlanggraph-apiには、認可ハンドラーで変更された Store の権限が正しく適用されず、認証済みの一般ユーザーが他のユーザーのデータを読み書き・削除できる脆弱性があります。影響を受けるのは0.15.0より前の版で、修正版は0.15.0です。JavaScriptまたはTypeScriptのカスタム認証を使っている場合は、0.15.0以降に更新してください。
影響パッケージ
| 種類 | パッケージ | 影響を受ける版 | 直った版 |
|---|---|---|---|
| langchain-ai | langgraph-api | — | — |
| pip | langgraph-api |
0.15.0 未満 |
0.15.0 |
| PyPI | langgraph-api |
0.1.2 以上 0.15.0 未満 |
0.15.0 |
原文の説明 取得元が公開している説明をそのまま載せています (多くは英語)。
Summary
LangGraph deployments using JavaScript or TypeScript custom authentication may fail to apply Store authorization changes returned by an authorization handler. In affected deployments, an authenticated user may be able to access Store data outside their authorized namespace.
Required conditions
A deployment is affected only when all of the following conditions apply:
- It uses an affected
langgraph-apiversion. - It runs JavaScript or TypeScript custom authentication.
- Its Store authorization handler relies on rewriting the requested namespace to restrict each user to their own data.
- The attacker can authenticate as an ordinary user.
- Multiple users' data is stored through the affected authorization path.
Python custom authentication handlers are not affected. JavaScript or TypeScript handlers that reject unauthorized namespace requests instead of rewriting them are also not affected.
The attack does not require administrator privileges, user interaction, a race condition, or the bypass of another mitigation.
Impact
An authenticated user may be able to read, overwrite, search, or delete Store data belonging to another user.
Patches
The issue is fixed in langgraph-api version 0.15.0. The server now carries changes made by a JavaScript or TypeScript authorization handler across the runtime boundary and applies them before performing the Store operation. It validates the resulting namespace after authorization and rejects the request if an…
出典: CVE.org (CVE Program・cvelistV5) NVD GitHub Advisory
参照URL
- package github.com
- web security-advisories@github.com
- web github.com