Ruby Enterprise Edition 1.8.6-20090610 released: fixes BigDecimal DoS vulnerability
A denial of service vulnerability in Ruby had been found. An attacker could supply a large value to BigDecimal, causing the Ruby interpreter to crash. The following versions of Ruby are affected:
- Ruby 1.8.6-p368 and all prior versions
- Ruby 1.8.7-p160 and all prior versions
- Ruby Enterprise Edition 20090520 and all prior versions
The following code demonstrates the problem:
require 'bigdecimal'
BigDecimal("9E69999999").to_s("F")
We are releasing Ruby Enterprise Edition 1.8.6-20090610, which is an emergency release containing a backport of the fix. All users are advised to upgrade. We have tested this release against RubySpec, the Rails 2.3 test suite and the Phusion Passenger test suite, and everything passes.
REE releases are usually hosted on RubyForge, but it’s currently down, so we’re temporarily hosting this release on our own web server. Please note that these links are temporary and will be replaced by RubyForge links once RubyForge is online again. (UPDATE: links point to RubyForge now)
To upgrade from a previous version, simply install into the same prefix that you installed to last time. Please also refer to the documentation for upgrade instructions.
Phusion. All rights reserved.
[...] Rails applications. Here’s the official Ruby announcement. There’s also a patched Ruby Enterprise Edition that fixes [...]
Sorry about that, back online now.
Thanks for the swift response.
[...] already aware, a denial of service (DoS) vulnerability in Ruby’s BigDecimal library was uncovered, fixed and reported on June 9, 2009. Patching options [...]
Can anybody confirm that REE doesn’t break like described here:
http://www.getharvest.com/blog/2009/06/ruby-denial-of-service-patch-breaks-bigdecimal-to_f-method/
Thanks!
Michael: REE is based on 1.8.6, so it doesn’t break BigDecimal#to_f.
Thanks hongli for your quick reply!
And by the way, as i’m already commenting, thanks for the great work on passenger and ree!
Cheers,
Michael.
Is it necessary to reinstall the Apache Passenger module after the upgrade? I’m upgrading from 20090421.
(e)
No. All REE releases so far are binary compatible so you don’t have to reinstall your gems if you are upgrading from an older version of REE.
[...] http://blog.phusion.nl/2009/06/10/ruby-enterprise-edition-186-20090610-released-fixes-bigdecimal-dos... [...]
[...] RubyEE fix for DoS [...]