Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 234806 (CVE-2008-3443) - <dev-lang/ruby-1.8.6_p287 regex.c infinite loop (CVE-2008-3443)
Summary: <dev-lang/ruby-1.8.6_p287 regex.c infinite loop (CVE-2008-3443)
Status: RESOLVED FIXED
Alias: CVE-2008-3443
Product: Gentoo Security
Classification: Unclassified
Component: Vulnerabilities (show other bugs)
Hardware: All Linux
: High minor (vote)
Assignee: Gentoo Security
URL: http://www.milw0rm.com/exploits/6239
Whiteboard: B3 [noglsa]
Keywords:
Depends on:
Blocks:
 
Reported: 2008-08-15 11:02 UTC by Robert Buchholz (RETIRED)
Modified: 2009-09-14 22:06 UTC (History)
1 user (show)

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Robert Buchholz (RETIRED) gentoo-dev 2008-08-15 11:02:34 UTC
CVE-2008-3443 (http://nvd.nist.gov/nvd.cfm?cvename=CVE-2008-3443):
  The regular expression engine (regex.c) 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
  remote attackers to cause a denial of service (infinite loop and crash) via
  multiple long requests to a Ruby socket, related to memory allocation
  failure, and as demonstrated against Webrick.
Comment 1 Robert Buchholz (RETIRED) gentoo-dev 2008-08-15 11:05:01 UTC
I am unsure whether this also affects 287, as the author of the advisory confirmed only 286. It contains a reproducer though.
Comment 2 Robert Buchholz (RETIRED) gentoo-dev 2008-08-15 14:14:50 UTC
Steven Christey pointed out:

Note the following DoS in the regular expression engine, which smells like
a NULL pointer dereference.  This appears to have been fixed in the latest
release.  A *likely* (but not provable) changelog entry for the fix is:
"regex.c (DOUBLE_STACK, re_compile_fastmap0, re_adjust_startpos),
(re_search, re_match_exec): check if failed to allocate memory."

- Steve
Comment 3 Hans de Graaff gentoo-dev Security 2008-08-16 14:15:46 UTC
(In reply to comment #1)
> I am unsure whether this also affects 287, as the author of the advisory
> confirmed only 286. It contains a reproducer though.

Running the reproduce script against a webrick server did suck up all available memory with p287 as well. A more decent server such as mongrel quickly noticed that something fishy was going on and aborted the test requests, so the bug may well be in webrick.
Comment 4 Pierre-Yves Rofes (RETIRED) gentoo-dev 2009-04-17 12:16:01 UTC
any news here?
Comment 5 Alex Legler (RETIRED) archtester gentoo-dev Security 2009-08-28 08:44:32 UTC
Tried the exploit once more. It did cause Webrick to print the whole ~140MB worth of A's from the exploit to the terminal. Redirecting that to a file took away the terminal CPU load, Webrick itself returned to normal operation after the attack.

After reviewing the CVE and other Advisories, I deem this issue is fixed in the tree, all versions are stable and no vunlerable versions are left.

GLSA? no.
Comment 6 Stefan Behte (RETIRED) gentoo-dev Security 2009-09-14 22:06:42 UTC
I vote NO. Closing NOGLSA.