PT-2019-4673 · Ruby+9 · Webrick+10
Published
2016-10-03
·
Updated
2025-01-27
·
CVE-2019-16254
CVSS v3.1
5.3
Medium
| Vector | AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N |
Name of the Vulnerable Software and Affected Versions
Ruby versions prior to 2.4.8
Ruby versions 2.5.x through 2.5.6
Ruby versions 2.6.x through 2.6.4
Puma versions prior to 3.12.3
Puma versions prior to 4.3.2
Description
The issue is related to incorrect handling of special elements in the WEBrick library of the Ruby programming language interpreter. This can allow a remote attacker to perform cross-site scripting attacks by splitting HTTP responses. If a program using WEBrick inserts untrusted input into the response header, an attacker can exploit it to insert a newline character to split a header and inject malicious content to deceive clients. The vulnerability is known as HTTP Response Splitting and can be used as a vector for other attacks, such as cross-site scripting (XSS).
Recommendations
For Ruby versions prior to 2.4.8, update to version 2.4.8 or later to resolve the issue.
For Ruby versions 2.5.x through 2.5.6, update to version 2.5.7 or later to resolve the issue.
For Ruby versions 2.6.x through 2.6.4, update to version 2.6.5 or later to resolve the issue.
For Puma versions prior to 3.12.3, update to version 3.12.3 or later to resolve the issue.
For Puma versions prior to 4.3.2, update to version 4.3.2 or later to resolve the issue.
As a temporary workaround, consider restricting the use of untrusted input in response headers until a patch is available. Avoid using newline characters (i.e.,
CR, LF, /r, /n) in headers to minimize the risk of exploitation.Exploit
Fix
Special Elements Injection
Found an issue in the description? Have something to add? Feel free to write us 👾
Related Identifiers
Affected Products
Alt Linux
Almalinux
Astra Linux
Centos
Puma
Red Hat
Rocky Linux
Ruby
Suse
Ubuntu
Webrick