{"id":"CVE-2012-5370","aliases":["DEBIAN-CVE-2012-5370","DLA-209-1","EUVD-2022-3805","GHSA-fmmq-j7pq-f85c"],"status":"published","title":"JRuby denial of service via Hash Collision","description":"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.","severity":{"version":"2.0","score":5,"vector":"AV:N/AC:L/Au:N/C:N/I:N/A:P","level":"medium","assessor":"primary","from":"nvd"},"epss":{"day":"2026-11-08","score":0.02249,"percentile":0.83014,"model":"v2026.06.15"},"facts":{"in_kev":false,"known_exploited":false,"public_exploit":false,"fix_available":true},"cwes":["CWE-310","CWE-400"],"published":"2012-11-28T11:00:00Z","modified":"2026-10-23T17:47:44Z","fixes":[{"ecosystem":"Maven","package":"org.jruby:jruby-parent","fixed_in":["1.7.1"],"sources":["ghsa","osv"]},{"ecosystem":"Debian:12","package":"jruby","fixed_in":["1.5.6-5"],"sources":["osv"]},{"ecosystem":"Debian:13","package":"jruby","fixed_in":["1.5.6-5"],"sources":["osv"]},{"ecosystem":"Debian:14","package":"jruby","fixed_in":["1.5.6-5"],"sources":["osv"]}],"affected":[{"source":"ghsa","ecosystem":"Maven","package":"org.jruby:jruby-parent","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.7.1"}]}]},{"source":"osv","ecosystem":"Debian:12","package":"jruby","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.5.6-5"}]}]},{"source":"osv","ecosystem":"Debian:13","package":"jruby","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.5.6-5"}]}]},{"source":"osv","ecosystem":"Debian:14","package":"jruby","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.5.6-5"}]}]},{"source":"osv","ecosystem":"Debian:6.0","package":"jruby","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.5.1-1+deb6u1"}]}],"versions":["1.3.1-2","1.4.0-1","1.4.0-2","1.5.0~rc1-1","1.5.0~rc3-1","1.5.1-1"],"bundled":2},{"source":"osv","ecosystem":"Maven","package":"org.jruby:jruby-parent","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.7.1"}]}]}],"products":[{"vendor":"jruby","product":"jruby"}],"references":[{"url":"https://bugzilla.redhat.com/show_bug.cgi?id=880671","tags":["x_refsource_CONFIRM","x_transferred","report","web"]},{"url":"http://asfws12.files.wordpress.com/2012/11/asfws2012-jean_philippe_aumasson-martin_bosslet-hash_flooding_dos_reloaded.pdf","tags":["x_refsource_MISC","x_transferred","web"]},{"url":"https://www.131002.net/data/talks/appsec12_slides.pdf","tags":["x_refsource_MISC","x_transferred","web"]},{"url":"http://2012.appsec-forum.ch/conferences/#c17","tags":["x_refsource_MISC","x_transferred","web"]},{"url":"http://www.ocert.org/advisories/ocert-2012-001.html","tags":["x_refsource_MISC","x_transferred","advisory"]},{"url":"http://rhn.redhat.com/errata/RHSA-2013-0533.html","tags":["vendor-advisory","x_refsource_REDHAT","x_transferred","advisory","web"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2012-5370","tags":["advisory"]},{"url":"https://github.com/jruby/jruby/commit/5e4aab28b26fd127112b76fabfac9a33b64caf77","tags":["web"]},{"url":"http://jruby.org/2012/12/03/jruby-1-7-1","tags":["web"]},{"url":"https://github.com/advisories/GHSA-fmmq-j7pq-f85c"},{"url":"https://security-tracker.debian.org/tracker/CVE-2012-5370","tags":["advisory"]}],"sources":{"cve":[{"id":"CVE-2012-5370","description":"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.","status":"published","published":"2012-11-28T11:00:00Z","modified":"2024-08-06T21:05:47.188Z","updated_at":"2026-11-02T14:34:49.600255Z"}],"euvd":[{"id":"EUVD-2022-3805","description":"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.","status":"published","published":"2012-11-28T11:00:00Z","modified":"2024-08-06T21:05:47Z","updated_at":"2026-11-03T01:56:04.46975Z"}],"ghsa":[{"id":"GHSA-fmmq-j7pq-f85c","title":"JRuby denial of service via Hash Collision","description":"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.","status":"published","published":"2022-05-17T04:17:07Z","modified":"2023-08-29T20:33:47Z","cwes":["CWE-400"],"updated_at":"2026-11-02T14:37:01.345964Z"}],"nvd":[{"id":"CVE-2012-5370","description":"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.","status":"published","published":"2012-11-28T13:03:10.057Z","modified":"2026-06-16T23:46:44.783Z","cvss":[{"version":"2.0","score":5,"vector":"AV:N/AC:L/Au:N/C:N/I:N/A:P","level":"medium","assessor":"primary"}],"cwes":["CWE-310"],"updated_at":"2026-11-02T14:02:16.536025Z"}],"osv":[{"id":"CVE-2012-5370","description":"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.","status":"published","published":"2012-11-28T13:03:10Z","modified":"2026-04-10T03:43:13.301301Z","updated_at":"2026-11-02T15:43:58.802805Z"},{"id":"DEBIAN-CVE-2012-5370","description":"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.","status":"published","published":"2012-11-28T13:03:10.057Z","modified":"2026-10-23T17:47:44.1746232Z","updated_at":"2026-11-02T15:45:25.218101Z"},{"id":"DLA-209-1","title":"jruby - security update","status":"published","published":"2015-04-29T00:00:00Z","modified":"2026-03-09T01:17:50.545178Z","updated_at":"2026-11-02T15:46:10.227108Z"},{"id":"GHSA-fmmq-j7pq-f85c","title":"JRuby denial of service via Hash Collision","description":"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.","status":"published","published":"2022-05-17T04:17:07Z","modified":"2026-09-10T03:49:22.538651849Z","cwes":["CWE-400"],"updated_at":"2026-11-02T15:46:46.760785Z"}]}}
