Ruby through 2.4.7, 2.5.x through 2.5.6, and 2.6.x through 2.6.4 allows HTTP Response Splitting. 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. NOTE: this issue exists because of an incomplete fix for CVE-2017-17742, which addressed the CRLF vector, but did not address an isolated CR or an isolated LF.
Conclusion & alert: CVE-2019-16254 is rated Moderate Risk (53/100): CVSS Medium severity, with high exploitation likelihood (EPSS 4.57%, 90th percentile). Core evidence: EPSS ranks this CVE among the most likely to be exploited in the near term. Mandatory action: High exploitation likelihood—assess exposure and prioritize remediation.
Risk is dynamic; we continuously reassess and refresh what is shown on this page as upstream context changes.
EPSS lead: Daily EPSS estimates relative likelihood of exploitation; percentile ranks this CVE among scored vulnerabilities (higher = more severe relative rank).
| # | Date | Old EPSS score | New EPSS score | Delta (New - Old) |
|---|---|---|---|---|
| 1 | 2026-06-19 | 4.45% | 4.57% | +0.12% |
| 2 | 2026-06-15 | 0.71% | 4.45% | +3.74% |
| 3 | 2026-03-04 | — | 0.71% | — |
Full EPSS history (49 records total)
CVSS metrics for this CVE.
| Base score | Version | Severity | Vector | Exploitability | Impact | Score source |
|---|---|---|---|---|---|---|
| 5.3 | 3.1 | MEDIUM |
|
3.9 | 1.4 | [email protected] |
| 5.0 | 2.0 | MEDIUM |
|
10.0 | 2.9 | [email protected] |
| vendor | priority | summary | link |
|---|---|---|---|
alpine
|
medium | CVE-2019-16254: 1 source package rows (ruby); 30 state rows across 10 repos (3.10-main, 3.11-main, 3.12-main, 3.17-main, 3.18-main, 3.19-main, 3.20-main, 3.21-main, 3.22-main, edge-main); fixed 10, open 20. | https://security.alpinelinux.org/vuln/CVE-2019-16254 |
debian
|
not yet assigned | CVE-2019-16254 not yet assigned priority: Debian including 1 source packages (jruby), 4 status rows across 4 suites (bookworm, forky, sid, trixie): resolved 4. | https://security-tracker.debian.org/tracker/CVE-2019-16254 |
gentoo
|
normal | CVE-2019-16254: 1 GLSA(s) (202003-06), 1 atom(s) (dev-lang/ruby); latest impact normal. | https://bugs.gentoo.org/buglist.cgi?quicksearch=CVE-2019-16254 |
redhat
|
low | — | https://access.redhat.com/security/cve/CVE-2019-16254 |
suse
|
medium | CVE-2019-16254 severity moderate: SUSE including 311 source package names (2.17-17.3:libruby2_5-2_5-2.5.7-4.8.1, 2.17-17.3:ruby2.5-2.5.7-4.8.1, …), 1053 product×package rows across 270 product lines (Container bci/ruby, Container suse/rmt-server, … (270 product lines)): Fixed 860, Known Affected 157, Known Not Affected 30, Will Not Fix 6. | https://www.suse.com/security/cve/CVE-2019-16254/ |
ubuntu
|
medium | CVE-2019-16254 medium priority: Ubuntu including 3 source packages (jruby, ruby2.3, ruby2.5), 32 status rows across 11 suites (bionic, disco, eoan, focal, groovy, hirsute, impish, jammy, trusty, upstream, xenial): DNE 16, not-affected 7, released 6, needs-triage 2, ignored 1. | https://ubuntu.com/security/CVE-2019-16254 |
| Vendor | Product | Version | Raw CPE |
|---|---|---|---|
| ruby-lang | ruby | <= 2.3.0 | cpe:2.3:a:ruby-lang:ruby:*:*:*:*:*:*:*:* |
| ruby-lang | ruby | >= 2.4.0, <= 2.4.7 | cpe:2.3:a:ruby-lang:ruby:*:*:*:*:*:*:*:* |
| ruby-lang | ruby | >= 2.5.0, <= 2.5.6 | cpe:2.3:a:ruby-lang:ruby:*:*:*:*:*:*:*:* |
| ruby-lang | ruby | >= 2.6.0, <= 2.6.4 | cpe:2.3:a:ruby-lang:ruby:*:*:*:*:*:*:*:* |
| debian | debian_linux | 8.0 | cpe:2.3:o:debian:debian_linux:8.0:*:*:*:*:*:*:* |