{"id":"CVE-2016-7954","aliases":["EUVD-2022-4435","GHSA-jvgm-pfqv-887x","UBUNTU-CVE-2016-7954"],"status":"published","title":"Bundler allows attacker to inject arbitrary code via secondary Gem source","description":"Bundler 1.x might allow remote attackers to inject arbitrary Ruby code into an application by leveraging a gem name collision on a secondary source.  NOTE: this might overlap CVE-2013-0334.","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.08821,"percentile":0.95219,"model":"v2026.06.15"},"facts":{"in_kev":false,"known_exploited":false,"public_exploit":false,"fix_available":true},"cwes":["CWE-94"],"published":"2016-12-22T22:00:00Z","modified":"2026-10-24T10:49:24Z","fixes":[{"ecosystem":"RubyGems","package":"bundler","fixed_in":["2.0.0"],"sources":["ghsa","osv"]}],"affected":[{"source":"ghsa","ecosystem":"RubyGems","package":"bundler","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"1.0.0"},{"fixed":"2.0.0"}]}]},{"source":"osv","ecosystem":"RubyGems","package":"bundler","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"1.0.0"},{"fixed":"2.0.0"}]}],"versions":["1.0.0","1.0.10","1.0.11","1.0.12","1.0.13","1.0.14","1.0.15","1.0.17","1.0.18","1.0.19.rc","1.0.2","1.0.20","1.0.20.rc","1.0.21","1.0.21.rc","1.0.22","1.0.3","1.0.5","1.0.7","1.0.9","1.1.0","1.1.1","1.1.2","1.1.3","1.1.4","1.1.5","1.1.pre","1.1.pre.1","1.1.pre.10","1.1.pre.2","1.1.pre.3","1.1.pre.4","1.1.pre.5","1.1.pre.7","1.1.pre.8","1.1.pre.9","1.1.rc","1.1.rc.2","1.1.rc.3","1.1.rc.5","1.1.rc.6","1.1.rc.7","1.1.rc.8","1.10.0","1.10.0.pre","1.10.0.pre.1","1.10.0.pre.2","1.10.0.rc","1.10.1","1.10.2","1.10.3","1.10.4","1.10.5","1.10.6","1.11.0","1.11.0.pre.1","1.11.0.pre.2","1.11.1","1.11.2","1.12.0","1.12.0.pre.1","1.12.0.pre.2","1.12.0.rc","1.12.0.rc.2","1.12.0.rc.3","1.12.0.rc.4","1.12.1","1.12.2","1.12.3","1.12.4","1.12.5","1.12.6","1.13.0","1.13.0.pre.1","1.13.0.rc.1","1.13.0.rc.2","1.13.1","1.13.2","1.13.3","1.13.4","1.13.5","1.13.6","1.13.7","1.14.0","1.14.0.pre.1","1.14.0.pre.2","1.14.1","1.14.2","1.14.3","1.14.4","1.14.5","1.14.6","1.15.0","1.15.0.pre.1","1.15.0.pre.2","1.15.0.pre.3","1.15.0.pre.4","1.15.1","1.15.2","1.15.3","1.15.4","1.16.0","1.16.0.pre.1","1.16.0.pre.2","1.16.0.pre.3","1.16.1","1.16.2","1.16.3","1.16.4","1.16.5","1.16.6","1.17.0","1.17.0.pre.1","1.17.0.pre.2","1.17.1","1.17.2","1.17.3","1.2.0","1.2.0.pre","1.2.0.pre.1","1.2.0.rc","1.2.0.rc.2","1.2.1","1.2.2","1.2.3","1.2.4","1.2.5","1.3.0","1.3.0.pre","1.3.0.pre.2","1.3.0.pre.3","1.3.0.pre.4","1.3.0.pre.5","1.3.0.pre.6","1.3.0.pre.7","1.3.0.pre.8","1.3.1","1.3.2","1.3.3","1.3.4","1.3.5","1.3.6","1.4.0.pre.1","1.4.0.pre.2","1.4.0.rc.1","1.5.0","1.5.0.rc.1","1.5.0.rc.2","1.5.1","1.5.2","1.5.3","1.6.0","1.6.0.pre.1","1.6.0.pre.2","1.6.0.rc","1.6.0.rc2","1.6.1","1.6.2","1.6.3","1.6.4","1.6.5","1.6.6","1.6.7","1.6.8","1.6.9","1.7.0","1.7.1","1.7.1.pre","1.7.1.pre.2","1.7.1.pre.3","1.7.10","1.7.11","1.7.12","1.7.13","1.7.14","1.7.15","1.7.2","1.7.3","1.7.4","1.7.5","1.7.6","1.7.7","1.7.8","1.7.9","1.8.0","1.8.0.pre","1.8.1","1.8.2","1.8.3","1.8.4","1.8.5","1.8.6","1.8.7","1.8.8","1.8.9","1.9.0","1.9.0.pre","1.9.0.pre.1","1.9.0.rc","1.9.1","1.9.10","1.9.2","1.9.3","1.9.4","1.9.5","1.9.6","1.9.7","1.9.8","1.9.9","2.0.0.pre.1","2.0.0.pre.2","2.0.0.pre.3"]},{"source":"osv","ecosystem":"Ubuntu:16.04:LTS","package":"bundler","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["1.10.6-1","1.10.6-2","1.11.2-1"]},{"source":"osv","ecosystem":"Ubuntu:Pro:18.04:LTS","package":"bundler","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["1.15.1-1","1.16.1-1","1.16.1-1ubuntu0.1~esm1"]}],"products":[{"vendor":"bundler","product":"bundler"}],"references":[{"url":"http://www.securityfocus.com/bid/93423","tags":["vdb-entry","x_refsource_BID","x_transferred","Third Party Advisory","VDB Entry","advisory"]},{"url":"https://github.com/bundler/bundler/issues/5062","tags":["x_refsource_CONFIRM","x_transferred","Issue Tracking","Patch","Third Party Advisory","fix","web"]},{"url":"http://collectiveidea.com/blog/archives/2016/10/06/bundlers-multiple-source-security-vulnerability/","tags":["x_refsource_MISC","x_transferred","Exploit","Third Party Advisory","evidence"]},{"url":"https://bugzilla.redhat.com/show_bug.cgi?id=1381951","tags":["x_refsource_CONFIRM","x_transferred","Issue Tracking","report","web"]},{"url":"http://www.openwall.com/lists/oss-security/2016/10/05/3","tags":["mailing-list","x_refsource_MLIST","x_transferred","Mailing List","Third Party Advisory","advisory","web","report"]},{"url":"http://www.openwall.com/lists/oss-security/2016/10/04/7","tags":["mailing-list","x_refsource_MLIST","x_transferred","Mailing List","Third Party Advisory","advisory","web"]},{"url":"http://www.openwall.com/lists/oss-security/2016/10/04/5","tags":["mailing-list","x_refsource_MLIST","x_transferred","Mailing List","Third Party Advisory","advisory","web","report"]},{"url":"https://github.com/bundler/bundler/issues/5051","tags":["x_refsource_CONFIRM","x_transferred","Issue Tracking","Patch","Third Party Advisory","fix","web"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2016-7954","tags":["advisory"]},{"url":"https://collectiveidea.com/blog/archives/2016/10/06/bundlers-multiple-source-security-vulnerability","tags":["web"]},{"url":"https://github.com/rubysec/ruby-advisory-db/blob/master/gems/bundler/CVE-2016-7954.yml","tags":["web"]},{"url":"https://web.archive.org/web/20170214030311/http://www.securityfocus.com/bid/93423","tags":["web"]},{"url":"http://collectiveidea.com/blog/archives/2016/10/06/bundlers-multiple-source-security-vulnerability","tags":["web"]},{"url":"https://github.com/advisories/GHSA-jvgm-pfqv-887x"},{"url":"https://github.com/rubygems/bundler","tags":["package"]},{"url":"https://ubuntu.com/security/CVE-2016-7954","tags":["report"]},{"url":"https://www.cve.org/CVERecord?id=CVE-2016-7954","tags":["report"]}],"sources":{"cve":[{"id":"CVE-2016-7954","description":"Bundler 1.x might allow remote attackers to inject arbitrary Ruby code into an application by leveraging a gem name collision on a secondary source.  NOTE: this might overlap CVE-2013-0334.","status":"published","published":"2016-12-22T22:00:00Z","modified":"2024-08-06T02:13:21.223Z","updated_at":"2026-11-02T14:33:36.802481Z"}],"euvd":[{"id":"EUVD-2022-4435","description":"Bundler 1.x might allow remote attackers to inject arbitrary Ruby code into an application by leveraging a gem name collision on a secondary source.  NOTE: this might overlap CVE-2013-0334.","status":"published","published":"2016-12-22T22:00:00Z","modified":"2024-08-06T02:13:21Z","updated_at":"2026-11-03T02:22:30.514382Z"}],"ghsa":[{"id":"GHSA-jvgm-pfqv-887x","title":"Bundler allows attacker to inject arbitrary code via secondary Gem source","description":"Bundler 1.x might allow remote attackers to inject arbitrary Ruby code into an application by leveraging a gem name collision on a secondary source.  NOTE: this might overlap CVE-2013-0334.","status":"published","published":"2022-05-14T00:57:16Z","modified":"2025-04-14T22:05:19Z","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-94"],"updated_at":"2026-11-02T14:38:39.85223Z"}],"nvd":[{"id":"CVE-2016-7954","description":"Bundler 1.x might allow remote attackers to inject arbitrary Ruby code into an application by leveraging a gem name collision on a secondary source.  NOTE: this might overlap CVE-2013-0334.","status":"published","published":"2016-12-22T22:59:00.123Z","modified":"2026-06-17T00:53:49.28Z","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-94"],"updated_at":"2026-11-02T14:03:32.79141Z"}],"osv":[{"id":"CVE-2016-7954","description":"Bundler 1.x might allow remote attackers to inject arbitrary Ruby code into an application by leveraging a gem name collision on a secondary source.  NOTE: this might overlap CVE-2013-0334.","status":"published","published":"2016-12-22T22:59:00.123Z","modified":"2026-10-24T10:49:24.983404114Z","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"}],"updated_at":"2026-11-02T15:44:03.171316Z"},{"id":"GHSA-jvgm-pfqv-887x","title":"Bundler allows attacker to inject arbitrary code via secondary Gem source","description":"Bundler 1.x might allow remote attackers to inject arbitrary Ruby code into an application by leveraging a gem name collision on a secondary source.  NOTE: this might overlap CVE-2013-0334.","status":"published","published":"2022-05-14T00:57:16Z","modified":"2025-04-14T22:27:57.972251Z","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-94"],"updated_at":"2026-11-02T15:46:51.10002Z"},{"id":"UBUNTU-CVE-2016-7954","description":"Bundler 1.x might allow remote attackers to inject arbitrary Ruby code into an application by leveraging a gem name collision on a secondary source. NOTE: this might overlap CVE-2013-0334.","status":"published","published":"2016-12-22T22:59:00Z","modified":"2025-10-24T04:45:55Z","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"}],"updated_at":"2026-11-02T15:54:12.994319Z"}]}}
