{"id":"CVE-2015-4412","aliases":["EUVD-2018-0180","GHSA-h6rj-8r3c-9gpj"],"status":"published","title":"bson is vulnerable to denial of service due to incorrect regex validation","description":"BSON injection vulnerability in the legal? function in BSON (bson-ruby) gem before 3.0.4 for Ruby allows remote attackers to cause a denial of service (resource consumption) or inject arbitrary data via a crafted string.","severity":{"version":"3.0","score":9.8,"vector":"CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","level":"critical","assessor":"primary","from":"nvd"},"epss":{"day":"2026-11-07","score":0.04663,"percentile":0.91806,"model":"v2026.06.15"},"facts":{"in_kev":false,"known_exploited":false,"public_exploit":false,"fix_available":true},"cwes":["CWE-400"],"published":"2018-02-05T16:00:00Z","modified":"2026-06-17T00:27:14Z","fixes":[{"ecosystem":"RubyGems","package":"bson","fixed_in":["3.0.4","1.12.3"],"sources":["ghsa","osv"]}],"affected":[{"source":"ghsa","ecosystem":"RubyGems","package":"bson","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"2.0"},{"fixed":"3.0.4"}]}]},{"source":"ghsa","ecosystem":"RubyGems","package":"bson","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.12.3"}]}]},{"source":"osv","ecosystem":"RubyGems","package":"bson","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.12.3"}]}],"versions":["0.20","0.20.1","1.0","1.0.1","1.0.2","1.0.3","1.0.4","1.0.5","1.0.6","1.0.7","1.0.9","1.1","1.1.1","1.1.2","1.1.3","1.1.4","1.1.5","1.10.0","1.10.0.rc0","1.10.0.rc1","1.10.1","1.10.2","1.11.1","1.12.0","1.12.0.rc0","1.12.0.rc1","1.12.0.rc2","1.12.1","1.12.2","1.2.0","1.2.1","1.2.2","1.2.3","1.2.4","1.2.rc0","1.2.rc1","1.2.rc2","1.3.0","1.3.0.rc0","1.3.1","1.4.0","1.4.1","1.5.0","1.5.0.rc0","1.5.1","1.5.2","1.6.0","1.6.1","1.6.2","1.6.4","1.7.0","1.7.0.rc0","1.7.1","1.8.0","1.8.1","1.8.1.rc0","1.8.1.rc1","1.8.2","1.8.3","1.8.3.rc0","1.8.3.rc1","1.8.4","1.8.4.rc0","1.8.5","1.8.6","1.9.0","1.9.1","1.9.1.rc0","1.9.2"]},{"source":"osv","ecosystem":"RubyGems","package":"bson","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"2.0"},{"fixed":"3.0.4"}]}],"versions":["2.0.0","2.1.0","2.1.1","2.1.2","2.2.0","2.2.1","2.2.2","2.2.3","2.2.4","2.3.0","3.0.0","3.0.1","3.0.2","3.0.3"]}],"products":[{"vendor":"bson_project","product":"bson"}],"references":[{"url":"http://www.securityfocus.com/bid/75045","tags":["vdb-entry","x_refsource_BID","x_transferred","Third Party Advisory","VDB Entry","web"]},{"url":"https://github.com/mongodb/bson-ruby/commit/976da329ff03ecdfca3030eb6efe3c85e6db9999","tags":["x_refsource_CONFIRM","x_transferred","Third Party Advisory","web"]},{"url":"https://github.com/mongodb/bson-ruby/compare/7446d7c6764dfda8dc4480ce16d5c023e74be5ca...28f34978a85b689a4480b4d343389bf4886522e7","tags":["x_refsource_CONFIRM","x_transferred","Issue Tracking","Patch","Third Party Advisory","web"]},{"url":"https://sakurity.com/blog/2015/06/04/mongo_ruby_regexp.html","tags":["x_refsource_MISC","x_transferred","Exploit","Patch","Third Party Advisory","web"]},{"url":"https://bugzilla.redhat.com/show_bug.cgi?id=1229750","tags":["x_refsource_CONFIRM","x_transferred","Issue Tracking","Third Party Advisory","web"]},{"url":"http://www.openwall.com/lists/oss-security/2015/06/06/3","tags":["mailing-list","x_refsource_MLIST","x_transferred","Mailing List","web"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2015-4412","tags":["advisory"]},{"url":"https://github.com/advisories/GHSA-h6rj-8r3c-9gpj","tags":["advisory"]},{"url":"https://github.com/rubysec/ruby-advisory-db/blob/master/gems/bson/CVE-2015-4412.yml","tags":["web"]},{"url":"http://sakurity.com/blog/2015/06/04/mongo_ruby_regexp.html","tags":["web"]},{"url":"https://github.com/mongodb/bson-ruby","tags":["package"]}],"sources":{"cve":[{"id":"CVE-2015-4412","description":"BSON injection vulnerability in the legal? function in BSON (bson-ruby) gem before 3.0.4 for Ruby allows remote attackers to cause a denial of service (resource consumption) or inject arbitrary data via a crafted string.","status":"published","published":"2018-02-05T16:00:00Z","modified":"2024-08-06T06:11:12.923Z","updated_at":"2026-11-02T14:35:43.322279Z"}],"euvd":[{"id":"EUVD-2018-0180","description":"BSON injection vulnerability in the legal? function in BSON (bson-ruby) gem before 3.0.4 for Ruby allows remote attackers to cause a denial of service (resource consumption) or inject arbitrary data via a crafted string.","status":"published","published":"2018-02-05T16:00:00Z","modified":"2024-08-06T06:11:12Z","updated_at":"2026-11-03T02:22:04.101765Z"}],"ghsa":[{"id":"GHSA-h6rj-8r3c-9gpj","title":"bson is vulnerable to denial of service due to incorrect regex validation","description":"BSON injection vulnerability in the legal function in BSON (bson-ruby) gem before 3.0.4 for Ruby allows remote attackers to cause a denial of service (resource consumption) or inject arbitrary data via a crafted string.","status":"published","published":"2018-03-05T19:43:21Z","modified":"2023-08-25T15:29:07Z","cvss":[{"version":"3.0","score":9.8,"vector":"CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","level":"critical"}],"cwes":["CWE-400"],"updated_at":"2026-11-02T14:37:00.680009Z"}],"nvd":[{"id":"CVE-2015-4412","description":"BSON injection vulnerability in the legal? function in BSON (bson-ruby) gem before 3.0.4 for Ruby allows remote attackers to cause a denial of service (resource consumption) or inject arbitrary data via a crafted string.","status":"published","published":"2018-02-05T16:29:00.41Z","modified":"2026-06-17T00:27:14.797Z","cvss":[{"version":"3.0","score":9.8,"vector":"CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","level":"critical","assessor":"primary"},{"version":"2.0","score":7.5,"vector":"AV:N/AC:L/Au:N/C:P/I:P/A:P","level":"high","assessor":"primary"}],"cwes":["CWE-400"],"updated_at":"2026-11-02T14:03:19.244941Z"}],"osv":[{"id":"GHSA-h6rj-8r3c-9gpj","title":"bson is vulnerable to denial of service due to incorrect regex validation","description":"BSON injection vulnerability in the legal function in BSON (bson-ruby) gem before 3.0.4 for Ruby allows remote attackers to cause a denial of service (resource consumption) or inject arbitrary data via a crafted string.","status":"published","published":"2018-03-05T19:43:21Z","modified":"2024-02-16T08:07:06.561735Z","cvss":[{"version":"3.0","score":9.8,"vector":"CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","level":"critical"}],"cwes":["CWE-400"],"updated_at":"2026-11-02T15:46:48.546324Z"}]}}
