| タイトル | The FastAPI Expertのpython-multipartにおける複数の脆弱性 |
|---|---|
| 概要 | Python-MultipartはPython向けのストリーミングmultipartパーサーです。バージョン0.0.30より前では、application/x-www-form-urlencodedのボディを解析する際に、QuerystringParserがフィールドセパレータを2段階で検出していました。まず、残りのバッファ全体を&でスキャンし、&がどこにも存在しない場合にのみ;のスキャンに切り替えていました。;をセパレータとして使い、&を含まないボディの場合は、各フィールドの処理ごとに全残りバッファに対して失敗した&のフルスキャンが行われ、その後近くの;を検出していました。チャンクサイズB内にN個のセミコロン区切りフィールドがあると、チャンクあたりO(B^2)のバイト比較が発生します。攻撃者はa;a;a;...のような小さい悪意あるボディを送信し、パーサーをリクエストごとに数秒間CPUを消費させることが可能です。複数の同時リクエストによってワーカープロセスが枯渇する恐れがあります。この脆弱性はバージョン0.0.30で修正されました。 |
| 想定される影響 | ・当該ソフトウェアが扱う情報について、外部への漏えいは発生しません。 ・当該ソフトウェアが扱う情報について、書き換えは発生しません。 ・当該ソフトウェアが完全に停止する可能性があります。 |
| 対策 | ベンダ情報を参照して適切な対策を実施してください。 |
| 公表日 | 2026年6月22日0:00 |
| 登録日 | 2026年6月29日11:13 |
| 最終更新日 | 2026年6月29日11:13 |
| CVSS3.0 : 重要 | |
| スコア | 7.5 |
|---|---|
| ベクター | CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H |
| The FastAPI Expert |
| python-multipart 0.0.30 未満 |
| No | 変更内容 | 変更日 |
|---|---|---|
| 1 | [2026年06月29日] 掲載 |
2026年6月29日11:13 |
| 概要 | Python-Multipart is a streaming multipart parser for Python. Prior to 0.0.30, when parsing application/x-www-form-urlencoded bodies, QuerystringParser located the field separator with a two step lookup: it first scanned the entire remaining buffer for &, and only when no & existed anywhere ahead did it fall back to scanning for ;. For a body that uses ; as the separator and contains no &, every field iteration performed a full failed & scan over the entire remaining buffer before locating the nearby ;. With N semicolon separated fields in a chunk of size B, this yields O(B^2) byte comparisons per chunk. An attacker can submit a small crafted body of the form a;a;a;... and cause the parser to spend seconds of CPU per request. A handful of concurrent requests can exhaust worker processes. This vulnerability is fixed in 0.0.30. |
|---|---|
| 公表日 | 2026年6月23日3:16 |
| 登録日 | 2026年6月27日4:10 |
| 最終更新日 | 2026年6月27日4:50 |
| 構成1 | 以上 | 以下 | より上 | 未満 | |
| cpe:2.3:a:fastapiexpert:python-multipart:*:*:*:*:*:python:*:* | 0.0.30 | ||||