GitHubは、kin-openapiの認証回避とDoS(サービス拒否)に関する4件の脆弱性勧告を掲載しています。保護対象の処理が認証なしで実行されたり、リクエストの検証で接続やプロセスが停止したりする問題で、利用する仕様や構成の確認が必要です。勧告の公表日は、今回の資料には記載されていません。
認証回避はURLの解釈差が条件
認証回避のCVE-2026-100351は、openapi3filter.ValidationHandler.Middlewareが対象です。報告者はv0.144.0、v0.145.0、v0.146.0で問題を確認しています。この3版だけが影響する、と断定できる情報は資料にありません。
原因は、認証側と実際に処理を振り分ける側でURLの解釈が異なり、別の操作が選ばれることです。成立条件には、後段のルーターが符号化されたパスを保持して解釈することや、公開パスと保護対象のパラメーター付きパスが復号後に重なることがあります。
勧告では、認証処理が呼ばれないまま保護対象のハンドラーが実行されました。ただし、実証で情報漏えいやデータ変更は確認されていません。勧告は、認証側と処理側が同じリクエスト表現を使い、同じ操作を選ぶよう求めています。
検証処理の3件は、停止する範囲が異なる
CVE-2026-100353は、配列の要素を定義するitemsがない場合の問題です。既存修正後も、クエリ配列、deepObject内の配列、複合スキーマ内のフォーム配列にクラッシュ経路が残っています。対象仕様を使う環境では、未認証の1リクエストでpanicという実行時エラーが起きます。標準のnet/httpでは接続が切れてもプロセスは存続しますが、回復処理がない環境では全体が停止します。
CVE-2026-100354は、循環する複合スキーマの実行時検証で再帰が止まらず、スタックオーバーフローになる問題です。こちらは標準のnet/httpでも回復できず、プロセス全体が停止します。信頼できないOpenAPI仕様を読み込むAPIゲートウェイだけでなく、固定仕様でも該当する循環参照があれば、リクエストで停止します。
CVE-2026-100352は、OAS 3.1のYAML本文検証に関する問題です。数値制約のある本文に.nan、.inf、-.infを送るとpanicが起きます。標準のnet/httpでは接続切断、回復処理がない環境では全体停止となります。報告者は、依存先のjsonschema/v6をv6.0.3に更新してpanicが解消することを確認しています。これは他の3件の解消を示す情報ではありません。
日本での提供は発表には書かれていません。
影響する会社・しない会社
- 影響する: 対象のMiddlewareを使い、公開パスと保護対象パスの重なりや、認証側と後段ルーターの解釈差がある会社です。認証回避の成立条件を開発担当に確認する必要があります。
- 影響する: itemsのない対象配列、循環する複合スキーマ、数値制約のあるOAS 3.1のYAML本文を検証する会社です。仕様が固定でも、循環参照の問題は確認対象です。
- 影響しない: kin-openapiを利用していないシステムは、今回の4件の直接の対象ではありません。利用している場合に影響なしと判断できる版の一覧や、4件すべての修正版は、資料には書かれていません。
情シスが今日やること
- 今日、開発責任者と委託先に4件の識別子を共有し、依存関係一覧でkin-openapiの有無と利用版を確認してもらいます。版の確認だけで終了せず、対象のMiddlewareと検証機能の使用有無も回答項目にします。
- 認証回避について、開発担当にルーター設定と経路定義の確認を依頼します。認証側と処理側のURL解釈、公開パスと保護対象パスの重なりを調べ、認証を通らず処理が実行されないか、検証環境で確認してもらいます。
- 検証に使うOpenAPI仕様と実行環境を確認します。配列のitems、循環参照、OAS 3.1のYAML本文検証を分けて点検し、接続切断で済む問題とプロセス全体が止まる問題を整理します。
- 対応期限と担当者を決め、サービス責任者へ確認結果を知らせます。CVE-2026-100352ではjsonschema/v6のv6.0.3への更新を検証候補にし、他の3件は修正状況を別途確認します。1件の更新で4件すべてが解消したとは扱わないでください。