Ruby on Rails: Multiple vulnerabilities — GLSA 200912-02

Multiple vulnerabilities have been discovered in Rails, the worst of which leading to the execution of arbitrary SQL statements.

Affected packages

dev-ruby/rails on all architectures
Affected versions < 2.2.2
Unaffected versions >= 2.3.5
revision >= 2.2.3-r1

Background

Ruby on Rails is a web-application and persistence framework.

Description

The following vulnerabilities were discovered:

  • sameer reported that lib/action_controller/cgi_process.rb removes the :cookie_only attribute from the default session options (CVE-2007-6077), due to an incomplete fix for CVE-2007-5380 (GLSA 200711-17).
  • Tobias Schlottke reported that the :limit and :offset parameters of ActiveRecord::Base.find() are not properly sanitized before being processed (CVE-2008-4094).
  • Steve from Coderrr reported that the CRSF protection in protect_from_forgery() does not parse the text/plain MIME format (CVE-2008-7248).
  • Nate reported a documentation error that leads to the assumption that a block returning nil passed to authenticate_or_request_with_http_digest() would deny access to the requested resource (CVE-2009-2422).
  • Brian Mastenbrook reported an input sanitation flaw, related to multibyte characters (CVE-2009-3009).
  • Gabe da Silveira reported an input sanitation flaw in the strip_tags() function (CVE-2009-4214).
  • Coda Hale reported an information disclosure vulnerability related to HMAC digests (CVE-2009-3086).

Impact

A remote attacker could send specially crafted requests to a vulnerable application, possibly leading to the execution of arbitrary SQL statements or a circumvention of access control. A remote attacker could also conduct session fixation attacks to hijack a user's session or bypass the CSRF protection mechanism, or furthermore conduct Cross-Site Scripting attacks or forge a digest via multiple attempts.

Workaround

There is no known workaround at this time.

Resolution

All Ruby on Rails 2.3.x users should upgrade to the latest version:

 # emerge --sync
 # emerge --ask --oneshot --verbose ">=dev-ruby/rails-2.3.5"

All Ruby on Rails 2.2.x users should upgrade to the latest version:

 # emerge --sync
 # emerge --ask --oneshot --verbose "=dev-ruby/rails-2.2.3-r1"

NOTE: All applications using Ruby on Rails should also be configured to use the latest version available by running "rake rails:update" inside the application directory.

References

Release date
December 20, 2009

Latest revision
December 20, 2009: 01

Severity
normal

Exploitable
remote

Bugzilla entries