| Title |
EncodeのStarletteにおけるクラスまたはコードを選択する外部から制御された入力の使用に関する脆弱性
|
| Summary |
Starletteは軽量なASGIフレームワークおよびツールキットです。バージョン1.0.1以下では、リクエストをディスパッチする際に、HTTPEndpointはHTTPメソッドを小文字化し、getattrで属性を参照してハンドラーを選択しますが、この参照は既知のHTTP動詞のセットに制限されていません。HTTPEndpointのサブクラスがmethods=引数を明示的に指定せずにRoute(...)を通じて登録されると、そのルートはメソッドを制限せず、すべてのメソッドがエンドポイントに到達します。小文字化した名前がエンドポイントサブクラスの属性と一致する非標準HTTPメソッドがエンドポイントに到達すると、その属性はリクエストハンドラーとして呼び出されます。攻撃者はこれを利用して、本来HTTPハンドラーとして意図されていなかった内部ヘルパーなどのメソッドに認可チェックなしで到達できます。StarletteベースのFastAPIのようなアプリケーションも影響を受けます。methods=を明示的に設定せずRoute(...)経由でHTTPEndpointサブクラスを登録し、そのサブクラスが非標準HTTP動詞の名前でリクエストを1つ受け取りレスポンスを返す追加メソッドを含む場合に問題が発生します。この問題はバージョン1.1.0で修正されました。
|
| Possible impacts |
・当該ソフトウェアが扱う情報について、外部への漏えいは発生しません。 ・当該ソフトウェアが扱う情報の一部が書き換えられる可能性があります。 ・当該ソフトウェアは停止しません。 |
| Solution |
ベンダ情報を参照して適切な対策を実施してください。 |
| Publication Date |
June 17, 2026, midnight |
| Registration Date |
June 29, 2026, 11:15 a.m. |
| Last Update |
June 29, 2026, 11:15 a.m. |