JVNDB-2021-002270
|
HTTP Web プロキシや Web アクセラレータの HTTP/2 実装不備による HTTP リクエストスマグリングの脆弱性
|
HTTP/2 をサポートする HTTP Web プロキシや Web アクセラレータに対して、HTTP/1 への変換処理の実装不備により HTTP Request Smuggling 攻撃が可能になる脆弱性が報告されています。
HTTP/2 をサポートする Web プロキシやアクセラレータを、HTTP/1 のみをサポートしている Web サーバと組み合わせて使用している場合、HTTP/2 リクエストは HTTP/1 リクエストに変換されて Web サーバに届けられます。
一部の Web プロキシやアクセラレータでは、HTTP/2 から HTTP/1 への変換処理において、不正な形式のリクエストやレスポンスを生成してしまうことが報告されています。
例えば、HTTP/1 リクエスト (やレスポンス) では、ヘッダ名やヘッダの値に改行文字やナル文字を入れる、などの形式は禁止されていますが、HTTP/2 フレームには HTTP/1 では禁止されているような形式のヘッダ名やヘッダの値をエンコードすることが可能です。そのため、HTTP/2 を規定している RFC7540 では、そのような不正な内容の HTTP/2 フレームをエラーにすることと規定しています (セクション 8.1.2.6 および 10.3)。
しかし、一部の Web プロキシやアクセラレータでは、このような不正な HTTP/2 フレームを不正な HTTP/1 リクエストに変換してバックエンドの Web サーバに送ってしまうことが報告されています。
また、HTTP/2 では必要のない Content-Length ヘッダや Transfer-Encoding ヘッダを挿入された場合の扱い方の不備から、攻撃への悪用が可能となる例も報告されています。
|
|
HTTP/2 から HTTP/1 への変換を行うシステム (HTTP Web プロキシや Web アクセラレータなど、RFC7230 において "intermediary" として説明される機能を提供するもの)
|
(複数のベンダ)
|
|
悪意あるコンテンツを含む HTTP/2 リクエストを処理することで、アクセス制御を回避されたり、機密情報を窃取されたり、当該システムにアクセスしたユーザへの攻撃が行われたりする可能性があります。
|
[アップデートする]
本脆弱性の影響を受ける製品を使用している場合、当該製品の開発者が提供する情報をもとに、修正版へアップデートしてください。
|
Apache Software Foundation
F5 Networks
The Netty project
アカマイテクノロジーズ
パルスセキュア
|
|
|
- JVN : JVNVU#99039870
- US-CERT Vulnerability Note : VU#357312
- 関連文書 : HTTP/2: The Sequel is Always Worse
- 関連文書 : Testing for HTTP Splitting Smuggling
|
|