EncodeのStarletteにおけるクラスまたはコードを選択する外部から制御された入力の使用に関する脆弱性
タイトル EncodeのStarletteにおけるクラスまたはコードを選択する外部から制御された入力の使用に関する脆弱性
概要

Starletteは軽量なASGIフレームワークおよびツールキットです。バージョン1.0.1以下では、リクエストをディスパッチする際に、HTTPEndpointはHTTPメソッドを小文字化し、getattrで属性を参照してハンドラーを選択しますが、この参照は既知のHTTP動詞のセットに制限されていません。HTTPEndpointのサブクラスがmethods=引数を明示的に指定せずにRoute(...)を通じて登録されると、そのルートはメソッドを制限せず、すべてのメソッドがエンドポイントに到達します。小文字化した名前がエンドポイントサブクラスの属性と一致する非標準HTTPメソッドがエンドポイントに到達すると、その属性はリクエストハンドラーとして呼び出されます。攻撃者はこれを利用して、本来HTTPハンドラーとして意図されていなかった内部ヘルパーなどのメソッドに認可チェックなしで到達できます。StarletteベースのFastAPIのようなアプリケーションも影響を受けます。methods=を明示的に設定せずRoute(...)経由でHTTPEndpointサブクラスを登録し、そのサブクラスが非標準HTTP動詞の名前でリクエストを1つ受け取りレスポンスを返す追加メソッドを含む場合に問題が発生します。この問題はバージョン1.1.0で修正されました。

想定される影響 ・当該ソフトウェアが扱う情報について、外部への漏えいは発生しません。 ・当該ソフトウェアが扱う情報の一部が書き換えられる可能性があります。 ・当該ソフトウェアは停止しません。 
対策

ベンダ情報を参照して適切な対策を実施してください。

公表日 2026年6月17日0:00
登録日 2026年6月29日11:15
最終更新日 2026年6月29日11:15
CVSS3.0 : 警告
スコア 5.3
ベクター CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N
影響を受けるシステム
Encode
Starlette 1.1.0 未満
CVE (情報セキュリティ 共通脆弱性識別子)
CWE (共通脆弱性タイプ一覧)
ベンダー情報
その他
変更履歴
No 変更内容 変更日
1 [2026年06月29日]
  掲載
2026年6月29日11:15