HTTP request smuggling

HTTP request smuggling is a technique for interfering with the way a web site processes sequences of HTTP requests that are received from one or more users. Request smuggling vulnerabilities are often critical in nature, allowing an attacker to bypass security controls, gain unauthorized access to sensitive data, and directly compromise other application users.

What is HTTP request smuggling? Tutorial & Examples | Web Security Academy

様々なサイバー攻撃に繋がる脆弱性 HTTP リクエストスマグリング | yamory Blog

HTTP リクエストスマグリング(Http Request Smuggling, HRS)は、フロントエンドの Web サーバー(リバースプロキシー、ロードバランサーなど)とバックエンドの Web サーバーで、 HTTP リクエストに対し異なる解釈をしてしまうことで発生する脆弱性です。

解釈の違いを引き起こす例のひとつに、Content-Length ヘッダーと Transfer-Encoding ヘッダーの両方を持つリクエストがあります。

POST / HTTP/1.1
Host: example.com
Content-Length: 44
Transfer-Encoding: chunked

0

GET / HTTP/1.1
Host: attacker.com
X:

上記のようなリクエストを攻撃者が送り、フロントエンドのサーバーが Content-Length の方を解釈してそのままリクエストを送り、バックエンドのサーバーは Transfer-Encoding を解釈して以下のような 2 つのリクエストとして認識した場合、HTTP リクエストスマグリングの脆弱性を受け、悪意のある attacker.com のようなサイトへ誘導される可能性があります。

POST / HTTP/1.1
Host: example.com
Content-Length: 44
Transfer-Encoding: chunked

0

GET / HTTP/1.1
Host: attacker.com
X:

CVE-2020-25613 Ruby WEBrick

HAProxy では Content-Length を使って解釈し、WEBrick では Transfer-Encoding を使って解釈することで WEBrick 側では 2 つのリクエストと認識してしまいます。

この問題の修正として以下のように正規表現をより厳格なものへと変更しています。

when /\Achunked\z/io then read_chunked(socket, block)

Improving Scroll Performance with Passive Event Listeners

envet.preventDefault よりは passive event listener が最近のナウい実装っぽいという話

解説記事はこちらを参照されたし。

そして、登録したリスナが Passive Listener であることを明示するのが、今回追加された passive フラグである。

この値は、同じく今回追加された addEventListener() の第三引数に渡す Event Listener Options で指定する。

document.addEventListener('touchstart', handler, {passive: true});

Passive Event Listeners によるスクロールの改善 | blog.jxck.io

Rails view_context

An instance of a view class. The default view class is ActionView::Base.

ActionView::Rendering | RailsDoc(β)

主なユースケースとしては controller から helper method を callするケースかな。

view_context.helper_method

コントローラーからヘルパーメソッドを呼ぶ - Qiita