Highlights
HTTP Request Smuggling: 12 prior fixes. Scrutinize any change in this area.
lib/webrick/httprequest.rb: most-fixed (9 issues). Treat as high-risk during review.
12 high-severity fixes in this history; regressions here are high-impact.
Recurring patterns
The bug types that recur here, drawn from past fixes, not open vulnerabilities.
HTTP Request Smuggling: Recurring parser discrepancies regarding line endings, duplicate headers (Content-Length/Transfer-Encoding), and chunked transfer validation allow attackers to bypass reverse proxy protections and smuggle requests.
Command Injection: Utilizing Kernel.open dynamically parses parameters beginning with a pipe character (|) as shell commands, allowing arbitrary command execution when reading local assets or mime-types.
Auth Bypass: Use of dynamic ruby method dispatch via 'send' allows external HTTP clients to execute arbitrary internal and private helper methods by manipulating the HTTP request method parameter.