CVE-2012-5370: Medium severity ruby vulnerability
A denial of service flaw was found in the JRuby's Murmur hash function implementation. A specially-crafted set of keys could trigger Murmur hash function collisions, which degrade hash table items insert performance by changing hash table operations complexity from an expected/average O(n) to the worst case O(n^2). Reporters were able to find colliding strings efficiently using equivalent substrings.
As various web application frameworks for Ruby automatically pre-fill certain arrays with data from the HTTP request (such as GET or POST parameters) for Ruby web applications, a remote attacker could use this flaw to make the Ruby interpreter use an excessive amount of CPU time by sending a POST request with a large number parameters which hash to the same value.
A different vulnerability than CVE-2011-4838.
References: [1] http://www.openwall.com/lists/oss-security/2012/11/23/4 [2] http://www.ocert.org/advisories/ocert-2012-001.html [3] http://2012.appsec-forum.ch/conferences/#c17 [4] https://www.131002.net/data/talks/appsec12slides.pdf [5] http://asfws12.files.wordpress.com/2012/11/asfws2012-jeanphilippeaumasson-martinbosslet-hashfloodingdosreloaded.pdf
Other sources
JRuby computes hash values without properly restricting the ability to trigger hash collisions predictably, which allows context-dependent attackers to cause a denial of service (CPU consumption) via crafted input to an application that maintains a hash table, as demonstrated by a universal multicollision attack against the MurmurHash2 algorithm, a different vulnerability than CVE-2011-4838.
Affected Software
Event History
Frequently Asked Questions
What is the severity of CVE-2012-5370?
CVE-2012-5370 is classified as a denial of service vulnerability.
How do I fix CVE-2012-5370?
To address CVE-2012-5370, upgrade your JRuby version to 1.7.1 or later.
What impact does CVE-2012-5370 have on performance?
CVE-2012-5370 can significantly degrade hash table performance due to increased collisions.
What versions of JRuby are affected by CVE-2012-5370?
CVE-2012-5370 affects all versions of JRuby prior to 1.7.1.
Is CVE-2012-5370 specific to any operating system?
CVE-2012-5370 affects the JRuby implementation across all operating systems that use vulnerable versions.