CVE-2024-45614 – Header normalization allows for client to clobber proxy set headers in Puma
https://notcve.org/view.php?id=CVE-2024-45614
Puma is a Ruby/Rack web server built for parallelism. In affected versions clients could clobber values set by intermediate proxies (such as X-Forwarded-For) by providing a underscore version of the same header (X-Forwarded_For). Any users relying on proxy set variables is affected. v6.4.3/v5.6.9 now discards any headers using underscores if the non-underscore version also exists. Effectively, allowing the proxy defined headers to always win. Users are advised to upgrade. • https://github.com/ooooooo-q/puma_header_normalization-CVE-2024-45614 https://github.com/puma/puma/security/advisories/GHSA-9hf4-67fc-4vf4 https://nginx.org/en/docs/http/ngx_http_core_module.html#underscores_in_headers • CWE-639: Authorization Bypass Through User-Controlled Key •
CVE-2024-21647 – HTTP Request/Response Smuggling in puma
https://notcve.org/view.php?id=CVE-2024-21647
Puma is a web server for Ruby/Rack applications built for parallelism. Prior to version 6.4.2, puma exhibited incorrect behavior when parsing chunked transfer encoding bodies in a way that allowed HTTP request smuggling. Fixed versions limits the size of chunk extensions. Without this limit, an attacker could cause unbounded resource (CPU, network bandwidth) consumption. This vulnerability has been fixed in versions 6.4.2 and 5.6.8. • https://github.com/puma/puma/commit/5fc43d73b6ff193325e657a24ed76dec79133e93 https://github.com/puma/puma/security/advisories/GHSA-c2f4-cvqm-65w2 https://access.redhat.com/security/cve/CVE-2024-21647 https://bugzilla.redhat.com/show_bug.cgi?id=2257340 • CWE-444: Inconsistent Interpretation of HTTP Requests ('HTTP Request/Response Smuggling') •
CVE-2023-40175 – Inconsistent Interpretation of HTTP Requests in puma
https://notcve.org/view.php?id=CVE-2023-40175
Puma is a Ruby/Rack web server built for parallelism. Prior to versions 6.3.1 and 5.6.7, puma exhibited incorrect behavior when parsing chunked transfer encoding bodies and zero-length Content-Length headers in a way that allowed HTTP request smuggling. Severity of this issue is highly dependent on the nature of the web site using puma is. This could be caused by either incorrect parsing of trailing fields in chunked transfer encoding bodies or by parsing of blank/zero-length Content-Length headers. Both issues have been addressed and this vulnerability has been fixed in versions 6.3.1 and 5.6.7. • https://github.com/puma/puma/commit/690155e7d644b80eeef0a6094f9826ee41f1080a https://github.com/puma/puma/security/advisories/GHSA-68xg-gqqm-vgj8 https://access.redhat.com/security/cve/CVE-2023-40175 https://bugzilla.redhat.com/show_bug.cgi?id=2232729 • CWE-444: Inconsistent Interpretation of HTTP Requests ('HTTP Request/Response Smuggling') •