Description
Puma is a Ruby/Rack web server built for parallelism. From 5.5.0 until 7.2.1 and 8.0.2, when PROXY protocol v1 support is enabled, Puma reads incoming bytes into an internal buffer while waiting for CRLF to determine whether a PROXY v1 line is present, allowing an attacker that continuously sends bytes without CRLF to cause unbounded in-process memory growth and additional CPU cost from repeatedly scanning the growing buffer. This issue is fixed in versions 7.2.1 and 8.0.2.
Problem types
CWE-400: Uncontrolled Resource Consumption
Product status
>= 8.0.0, < 8.0.2
References
github.com/puma/puma/security/advisories/GHSA-qpgp-93vx-g8v8
github.com/...ommit/439c6136d9c2275721b7864db3ee78af7c80889f
github.com/...ommit/ebe9db3929ab8299d19c8f5b41e8ef4f4b22fa58
github.com/puma/puma/releases/tag/v7.2.1
github.com/puma/puma/releases/tag/v8.0.2