ID CVE-2009-3086
Summary A certain algorithm in Ruby on Rails 2.1.0 through 2.2.2, and 2.3.x before 2.3.4, leaks information about the complexity of message-digest signature verification in the cookie store, which might allow remote attackers to forge a digest via multiple attempts.
References
Vulnerable Configurations
  • Ruby on Rails 2.1.1
    cpe:2.3:a:rubyonrails:ruby_on_rails:2.1.1
  • Ruby on Rails 2.1.2
    cpe:2.3:a:rubyonrails:ruby_on_rails:2.1.2
  • Ruby on Rails 2.1
    cpe:2.3:a:rubyonrails:ruby_on_rails:2.1
  • Ruby on Rails 2.1.0
    cpe:2.3:a:rubyonrails:ruby_on_rails:2.1.0
  • Ruby on Rails 2.2.2
    cpe:2.3:a:rubyonrails:ruby_on_rails:2.2.2
  • Ruby on Rails 2.2.0
    cpe:2.3:a:rubyonrails:ruby_on_rails:2.2.0
  • Ruby on Rails 2.2.1
    cpe:2.3:a:rubyonrails:ruby_on_rails:2.2.1
  • Ruby on Rails 2.3.2
    cpe:2.3:a:rubyonrails:ruby_on_rails:2.3.2
  • Ruby on Rails 2.3.3
    cpe:2.3:a:rubyonrails:ruby_on_rails:2.3.3
CVSS
Base: 5.0 (as of 09-09-2009 - 10:12)
Impact:
Exploitability:
CWE CWE-200
CAPEC
  • Subverting Environment Variable Values
    The attacker directly or indirectly modifies environment variables used by or controlling the target software. The attacker's goal is to cause the target software to deviate from its expected operation in a manner that benefits the attacker.
  • Footprinting
    An attacker engages in probing and exploration activity to identify constituents and properties of the target. Footprinting is a general term to describe a variety of information gathering techniques, often used by attackers in preparation for some attack. It consists of using tools to learn as much as possible about the composition, configuration, and security mechanisms of the targeted application, system or network. Information that might be collected during a footprinting effort could include open ports, applications and their versions, network topology, and similar information. While footprinting is not intended to be damaging (although certain activities, such as network scans, can sometimes cause disruptions to vulnerable applications inadvertently) it may often pave the way for more damaging attacks.
  • Exploiting Trust in Client (aka Make the Client Invisible)
    An attack of this type exploits a programs' vulnerabilities in client/server communication channel authentication and data integrity. It leverages the implicit trust a server places in the client, or more importantly, that which the server believes is the client. An attacker executes this type of attack by placing themselves in the communication channel between client and server such that communication directly to the server is possible where the server believes it is communicating only with a valid client. There are numerous variations of this type of attack.
  • Browser Fingerprinting
    An attacker carefully crafts small snippets of Java Script to efficiently detect the type of browser the potential victim is using. Many web-based attacks need prior knowledge of the web browser including the version of browser to ensure successful exploitation of a vulnerability. Having this knowledge allows an attacker to target the victim with attacks that specifically exploit known or zero day weaknesses in the type and version of the browser used by the victim. Automating this process via Java Script as a part of the same delivery system used to exploit the browser is considered more efficient as the attacker can supply a browser fingerprinting method and integrate it with exploit code, all contained in Java Script and in response to the same web page request by the browser.
  • Session Credential Falsification through Prediction
    This attack targets predictable session ID in order to gain privileges. The attacker can predict the session ID used during a transaction to perform spoofing and session hijacking.
  • Reusing Session IDs (aka Session Replay)
    This attack targets the reuse of valid session ID to spoof the target system in order to gain privileges. The attacker tries to reuse a stolen session ID used previously during a transaction to perform spoofing and session hijacking. Another name for this type of attack is Session Replay.
  • Using Slashes in Alternate Encoding
    This attack targets the encoding of the Slash characters. An attacker would try to exploit common filtering problems related to the use of the slashes characters to gain access to resources on the target host. Directory-driven systems, such as file systems and databases, typically use the slash character to indicate traversal between directories or other container components. For murky historical reasons, PCs (and, as a result, Microsoft OSs) choose to use a backslash, whereas the UNIX world typically makes use of the forward slash. The schizophrenic result is that many MS-based systems are required to understand both forms of the slash. This gives the attacker many opportunities to discover and abuse a number of common filtering problems. The goal of this pattern is to discover server software that only applies filters to one version, but not the other.
Access
VectorComplexityAuthentication
NETWORK LOW NONE
Impact
ConfidentialityIntegrityAvailability
PARTIAL NONE NONE
nessus via4
  • NASL family Gentoo Local Security Checks
    NASL id GENTOO_GLSA-200912-02.NASL
    description The remote host is affected by the vulnerability described in GLSA-200912-02 (Ruby on Rails: Multiple vulnerabilities) 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.
    last seen 2019-02-21
    modified 2018-11-14
    plugin id 43378
    published 2009-12-22
    reporter Tenable
    source https://www.tenable.com/plugins/index.php?view=single&id=43378
    title GLSA-200912-02 : Ruby on Rails: Multiple vulnerabilities
  • NASL family SuSE Local Security Checks
    NASL id SUSE_11_1_RUBYGEM-ACTIONPACK-2_1-090917.NASL
    description This update improves the escaping in the helper code of Ruby on Rails to protect against XSS attacks (CVE-2009-3009) and an information leak (CVE-2009-3086).
    last seen 2019-02-21
    modified 2016-12-21
    plugin id 42204
    published 2009-10-22
    reporter Tenable
    source https://www.tenable.com/plugins/index.php?view=single&id=42204
    title openSUSE Security Update : rubygem-actionpack-2_1 (rubygem-actionpack-2_1-1320)
  • NASL family SuSE Local Security Checks
    NASL id SUSE_11_1_RUBYGEM-ACTIVESUPPORT-2_1-090917.NASL
    description This update improves the escaping in the helper code of Ruby on Rails to protect against XSS attacks (CVE-2009-3009) and an information leak (CVE-2009-3086).
    last seen 2019-02-21
    modified 2016-12-21
    plugin id 42205
    published 2009-10-22
    reporter Tenable
    source https://www.tenable.com/plugins/index.php?view=single&id=42205
    title openSUSE Security Update : rubygem-activesupport-2_1 (rubygem-activesupport-2_1-1321)
  • NASL family Debian Local Security Checks
    NASL id DEBIAN_DSA-2260.NASL
    description Two vulnerabilities were discovered in Ruby on Rails, a web application framework. The Common Vulnerabilities and Exposures project identifies the following problems : - CVE-2009-3086 The cookie store may be vulnerable to a timing attack, potentially allowing remote attackers to forge message digests. - CVE-2009-4214 A cross-site scripting vulnerability in the strip_tags function allows remote user-assisted attackers to inject arbitrary web script.
    last seen 2019-02-21
    modified 2018-11-10
    plugin id 55136
    published 2011-06-15
    reporter Tenable
    source https://www.tenable.com/plugins/index.php?view=single&id=55136
    title Debian DSA-2260-1 : rails - several vulnerabilities
refmap via4
bid 37427
confirm http://weblog.rubyonrails.org/2009/9/4/timing-weakness-in-ruby-on-rails
debian DSA-2260
secunia 36600
suse SUSE-SR:2009:017
vupen ADV-2009-2544
Last major update 06-07-2012 - 13:08
Published 08-09-2009 - 14:30
Back to Top