ホームへ戻る

GitHub Repo

LangChain Core 1.6.8、IPv6 SSRFチェックを強化し、インターフェーススコープと埋め込みIPv4アドレスの処理を追加

LangChainは10月8日、Core 1.6.8をリリースし、IPv6アドレスの正規化と埋め込みIPv4のチェックを調整して、ローカルおよびクラウドのメタデータエンドポイントへのアクセスをより強くブロックするようにした。修正はマージされ、PyPIで公開済みだが、自動レビューでは一部のデフォルトのブロック動作が変わる可能性も指摘されたため、エンジニアリングチームはカスタムネットワーク範囲のルールを確認する必要がある。

Dirck van Baburen · Public domain · Image source
zh-Hant

LangChainは10月8日、langchain-core 1.6.8をリリースし、リリースノートにIPv6のサーバーサイドリクエストフォージェリ(SSRF)チェックの修正を記載した。ユーザーやモデルが指定したURLをサーバーが使ってリソースにアクセスするAIアプリケーションでは、こうしたチェックによって、ツールがローカルサービスやクラウドのメタデータエンドポイントに到達できるかどうかが決まる。このパッケージは正式にダウンロードでき、まだマージ待ちの提案ではない。リリースノート、PyPI

コードの変更には2つの処理が含まれる。IPv6アドレスをいったん整数に変換してから再構築し、%eth0などのインターフェーススコープ識別子を取り除く。また、::/96内のIPv4-compatibleアドレスを識別し、埋め込まれたIPv4アドレスを取り出して後続のポリシー判定に渡す。その際、::と::1は特別扱いを維持する。技術的には、同じ宛先の異なる表記に一貫したチェックを適用し、ブロックルールが特定の表記しか認識しないリスクを低減する変更だ。修正差分

追加されたテストでは、インターフェース識別子付きのIPv6、ローカルループバック、複数のメタデータアドレスを対象に、block_private_ipsを有効にした場合と無効にした場合をそれぞれ検証する。一部の機微な宛先はプライベートネットワークの制限を緩和しても拒否されること、またローカル宛てのブロックを明示的に無効にした場合は許可されることを確認する。これらのケースはポリシー境界を確認する材料になるが、すべてのネットワークアクセスツールに同じ保護が適用されていると推定することはできない。テストの変更

今回の更新には、引き続き確認すべき点もある。PRの自動レビューでは、先にIPv4へ変換することで、従来は全体がブロックされていたIPv4-compatibleの公開アドレスがデフォルトポリシーを通過する可能性や、カスタムIPv6 CIDRが元の表記に一致しなくなる可能性が指摘された。これは機械レビューによる懸念であり、確認済みの脆弱性とみなすことはできない。ただし、additional_blocked_cidrsを使うチームは、独自ルールの回帰テストを追加し、メンテナーによる今後の対応を追うべきだ。公開情報からは、影響を受けるバージョンの全範囲や実際の悪用を示す証拠も確認できない。PRの議論

出典

  1. LangChain Core 1.6.8 release
  2. IPv6 SSRF hardening PR #41151
  3. IPv6 SSRF implementation and regression tests
  4. langchain-core 1.6.8 package