
NetScaler nsppeのHTTP/1.1チャンク解析における32ビットのチャンクサイズアキュムレータのラップを悪用し、リクエストスマグリングを引き起こすPythonの概念実証コード。
NetScaler nsppe の HTTP/1.1 チャンクボディパーサーにおける HTTP リクエストスマグリング問題の概念実証です。
9桁のチャンクサイズ値(100000005)がオーバーフローチェックなしで32ビットレジスタに累積され、暗黙的に5にラップアラウンドします。
プロキシは元のフレーミングを転送しますが、リクエストがどこで終わるかを判断するためにラップアラウンドしたサイズを使用します。
完全な64ビット長を計算する正しいバックエンドと、すでにリクエストを終了したプロキシは、メッセージ境界について一致しなくなります。
python3 88773.py <host> [--port 443] [--sni poc] [--plain] [--flow {a,b,both}] [--timeout 5] [-v]
認証は不要です。唯一の前提条件は、アプライアンス上の HTTP 仮想サーバーへの到達可能性です。
スクリプトはまずチャンク形式の POST と、パイプライン化された2つの GET を送信します。これらは、スマグルペイロードが試行される前に、ターゲットが単一リクエストと複数リクエストの両方のトラフィックをリレーすることを確認します。 これらの人々が詳細な調査を行いました。ぜひ読むことを強くお勧めします -> https://github.com/Scyrix-LLC/CVE-2026-88773
これは研究用の概念実証です。武器化は含まれていません(すみません!)