← Vulnerability feed

Vulnerability record · CVE-2008-3656 · published 13 August 2008

CVE-2008-3656: Ruby WEBrick HTTP header parsing CPU exhaustion DoS

Ruby Lang · Ruby

WEBrick::HTTPUtils.split_header_value in Ruby's WEBrick HTTP server uses a backtracking regular expression, giving the code algorithmic complexity on crafted input. A remote attacker can send a specially crafted HTTP request that drives excessive CPU consumption in the server process. The flaw affects Ruby 1.8.5 and earlier, 1.8.6 up to p286, 1.8.7 up to p71, and 1.9 up to r18423.

7.8 CVSS 2.0 High EPSS 70% · top 0.6% CWE-399 · CWE-399
7.8CVSS 2.0 base score
70%EPSS exploitation probability, 30 days
NoNot in CISA KEV
1Affected product versions listed by NVD
60References, 2 tagged exploit
16 Jun 2026Last modified by NVD

Description

Algorithmic complexity vulnerability in the WEBrick::HTTPUtils.split_header_value function in WEBrick::HTTP::DefaultFileHandler in WEBrick in Ruby 1.8.5 and earlier, 1.8.6 through 1.8.6-p286, 1.8.7 through 1.8.7-p71, and 1.9 through r18423 allows context-dependent attackers to cause a denial of service (CPU consumption) via a crafted HTTP request that is processed by a backtracking regular expression.

AV:N/AC:L/Au:N/C:N/I:N/A:C

Automated analysis

Generated by VULONE's analysis model from the NVD record, CISA KEV and EPSS data on 19 September 2026. Confidence: medium.

high priorityUnauthenticated network-reachable availability impact with a high EPSS score and public exploit reference, though the software is legacy and no KEV listing exists.

What it is

WEBrick::HTTPUtils.split_header_value in Ruby's WEBrick HTTP server uses a backtracking regular expression, giving the code algorithmic complexity on crafted input. A remote attacker can send a specially crafted HTTP request that drives excessive CPU consumption in the server process. The flaw affects Ruby 1.8.5 and earlier, 1.8.6 up to p286, 1.8.7 up to p71, and 1.9 up to r18423.

Impact

An unauthenticated attacker can exhaust CPU on a WEBrick-based Ruby service, degrading or denying service to legitimate users. No confidentiality or integrity impact is described; the effect is availability loss.

Attack surface

Reachable over the network via HTTP requests to a Ruby application served by WEBrick, per the AV:N vector. No authentication or user interaction is required (Au:N, AC:L).

Exploitation

Not listed in CISA KEV, but EPSS is high at roughly 0.70 (99th percentile), and one reference is tagged Exploit, indicating public exploit material exists. No ransomware association is documented.

What to do

  • Upgrade Ruby to a release after the affected ranges (1.8.5, 1.8.6-p286, 1.8.7-p71, 1.9 r18423) or apply the vendor patch.
  • If WEBrick is not required, disable it and front the application with a maintained server or reverse proxy.
  • Apply rate limiting and request-size limits at the proxy to blunt CPU-exhaustion floods.
  • Monitor CPU usage on Ruby/WEBrick hosts and alert on sustained spikes tied to request volume.

Detection

  • Alert on sustained high CPU in Ruby/WEBrick processes without a matching rise in legitimate traffic.
  • Inspect HTTP request logs for unusually long or malformed header values hitting WEBrick endpoints.
  • Correlate repeated requests from single sources with CPU spikes to identify DoS attempts.

This assessment is produced automatically and is not human-reviewed. Verify against the vendor advisory before acting on it.

Affected products

1 vulnerable configurations from NVD's CPE data, grouped by vendor and product.

References

LinkTags
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=494401
http://lists.apple.com/archives/security-announce/2009/May/msg00002.html
http://secunia.com/advisories/31430
http://secunia.com/advisories/31697
http://secunia.com/advisories/32165
http://secunia.com/advisories/32219
http://secunia.com/advisories/32255
http://secunia.com/advisories/32256
http://secunia.com/advisories/32371
http://secunia.com/advisories/33178
http://secunia.com/advisories/35074
http://security.gentoo.org/glsa/glsa-200812-17.xml
http://support.apple.com/kb/HT3549
http://support.avaya.com/elmodocs2/security/ASA-2008-424.htm
http://wiki.rpath.com/wiki/Advisories:rPSA-2008-0264
http://www.debian.org/security/2008/dsa-1651
http://www.debian.org/security/2008/dsa-1652
http://www.redhat.com/support/errata/RHSA-2008-0897.html
http://www.ruby-lang.org/en/news/2008/08/08/multiple-vulnerabilities-in-ruby/ Exploit
http://www.securityfocus.com/archive/1/495884/100/0/threaded
http://www.securityfocus.com/bid/30644
http://www.securitytracker.com/id?1020654
http://www.us-cert.gov/cas/techalerts/TA09-133A.html US Government Resource
http://www.vupen.com/english/advisories/2008/2334
http://www.vupen.com/english/advisories/2009/1297
https://exchange.xforce.ibmcloud.com/vulnerabilities/44371
https://oval.cisecurity.org/repository/search/definition/oval%3Aorg.mitre.oval%3Adef%3A9682
https://usn.ubuntu.com/651-1/
https://www.redhat.com/archives/fedora-package-announce/2008-October/msg00259.html
https://www.redhat.com/archives/fedora-package-announce/2008-October/msg00299.html
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=494401
http://lists.apple.com/archives/security-announce/2009/May/msg00002.html
http://secunia.com/advisories/31430
http://secunia.com/advisories/31697
http://secunia.com/advisories/32165
http://secunia.com/advisories/32219
http://secunia.com/advisories/32255
http://secunia.com/advisories/32256
http://secunia.com/advisories/32371
http://secunia.com/advisories/33178

Track CVE-2008-3656 inside VULONE

Watch it alongside the ransomware crews, C2 infrastructure and forum chatter that reference it, query it through the API and pull it into your SIEM over TAXII.

Start free Open in platform

Related vulnerabilities

Same products first, then exploited flaws of the same weakness class.

10.0CVE-2009-4124Ruby-lang ruby memory buffer overflow vulnerabilityHeap-based buffer overflow in the rb_str_justify function in string.c in Ruby 1.9.1 before 1.9.1-p376 allows context-dependent attackers to execute a…EPSS 3.9%10.0CVE-2008-2662Ruby-lang ruby vulnerabilityMultiple integer overflows in the rb_str_buf_append function in Ruby 1.8.4 and earlier, 1.8.5 before 1.8.5-p231, 1.8.6 before 1.8.6-p230, 1.8.7 befor…EPSS 4.3%10.0CVE-2008-2663Ruby-lang ruby integer overflow vulnerabilityMultiple integer overflows in the rb_ary_store function in Ruby 1.8.4 and earlier, 1.8.5 before 1.8.5-p231, 1.8.6 before 1.8.6-p230, and 1.8.7 before…EPSS 4.5%9.8CVE-2016-2338Ruby-lang ruby out-of-bounds write vulnerabilityAn exploitable heap overflow vulnerability exists in the Psych::Emitter start_document function of Ruby. In Psych::Emitter start_document function he…EPSS 4.7%9.8CVE-2022-28738Ruby-lang ruby double free vulnerabilityA double free was found in the Regexp compiler in Ruby 3.x before 3.0.4 and 3.1.x before 3.1.2. If a victim attempts to create a Regexp from untruste…EPSS 2.9%9.8CVE-2011-4121Ruby-lang ruby inadequate encryption strength vulnerabilityThe OpenSSL extension of Ruby (Git trunk) versions after 2011-09-01 up to 2011-11-03 always generated an exponent value of '1' to be used for private…EPSS 2.5%9.8CVE-2018-16395Ruby-lang openssl vulnerabilityAn issue was discovered in the OpenSSL library in Ruby before 2.3.8, 2.4.x before 2.4.5, 2.5.x before 2.5.2, and 2.6.x before 2.6.0-preview3. When tw…EPSS 11%9.8CVE-2017-17790Ruby-lang ruby injection vulnerabilityThe lazy_initialize function in lib/resolv.rb in Ruby through 2.4.3 uses Kernel#open, which might allow Command Injection attacks, as demonstrated by…EPSS 5.9%

Source: NIST National Vulnerability Database (record CVE-2008-3656), CISA KEV, FIRST EPSS (scores of 2026-09-26). This page is refreshed as NVD updates the record.