{"id":"CVE-2018-10191","aliases":["DEBIAN-CVE-2018-10191","DLA-2996-1","EUVD-2018-2267","GHSA-444w-xm89-r2p5","UBUNTU-CVE-2018-10191"],"status":"published","title":"In versions of mruby up to and including 1.4.0, an integer overflow exists in src/vm.c:...","description":"In versions of mruby up to and including 1.4.0, an integer overflow exists in src/vm.c::mrb_vm_exec() when handling OP_GETUPVAR in the presence of deep scope nesting, resulting in a use-after-free. An attacker that can cause Ruby code to be run can use this to possibly execute arbitrary code.","severity":{"version":"3.1","score":9.8,"vector":"CVSS:3.1/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-08","score":0.02588,"percentile":0.85369,"model":"v2026.06.15"},"facts":{"in_kev":false,"known_exploited":false,"public_exploit":false,"fix_available":true},"cwes":["CWE-190"],"published":"2018-04-17T21:00:00Z","modified":"2026-10-23T18:03:18Z","fixes":[{"ecosystem":"Debian:12","package":"mruby","fixed_in":["1.4.0+20180418+git54905e98-1"],"sources":["osv"]},{"ecosystem":"Debian:13","package":"mruby","fixed_in":["1.4.0+20180418+git54905e98-1"],"sources":["osv"]},{"ecosystem":"Debian:14","package":"mruby","fixed_in":["1.4.0+20180418+git54905e98-1"],"sources":["osv"]}],"affected":[{"source":"osv","ecosystem":"Debian:12","package":"mruby","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.4.0+20180418+git54905e98-1"}]}]},{"source":"osv","ecosystem":"Debian:13","package":"mruby","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.4.0+20180418+git54905e98-1"}]}]},{"source":"osv","ecosystem":"Debian:14","package":"mruby","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.4.0+20180418+git54905e98-1"}]}]},{"source":"osv","ecosystem":"Debian:9","package":"mruby","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.2.0+20161228+git30d5424a-1+deb9u1"}]}],"versions":["1.2.0+20161228+git30d5424a-1"],"bundled":6},{"source":"osv","ecosystem":"Ubuntu:16.04:LTS","package":"mruby","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["1.1.0+20150817+gita1731254-1","1.1.0+20150906+git1cbbb7e1-1","1.2.0+20160315+git4f20d58a-1"]},{"source":"osv","ecosystem":"Ubuntu:18.04:LTS","package":"mruby","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["1.3.0-1","1.3.0+20170925+git38185028-1","1.3.0+20171029+git77edafb0-1","1.4.0-1"]}],"products":[{"vendor":"debian","product":"debian_linux"},{"vendor":"mruby","product":"mruby"}],"references":[{"url":"https://github.com/mruby/mruby/issues/3995","tags":["x_refsource_MISC","x_transferred","Exploit","Issue Tracking","Third Party Advisory","report"]},{"url":"https://github.com/mruby/mruby/commit/1905091634a6a2925c911484434448e568330626","tags":["x_refsource_MISC","x_transferred","Patch","Third Party Advisory","fix","report"]},{"url":"https://lists.debian.org/debian-lts-announce/2022/05/msg00006.html","tags":["mailing-list","x_refsource_MLIST","x_transferred","Mailing List","Third Party Advisory","advisory"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2018-10191"},{"url":"https://github.com/advisories/GHSA-444w-xm89-r2p5"},{"url":"https://security-tracker.debian.org/tracker/CVE-2018-10191","tags":["advisory"]},{"url":"https://ubuntu.com/security/CVE-2018-10191","tags":["report"]},{"url":"https://www.cve.org/CVERecord?id=CVE-2018-10191","tags":["report"]}],"sources":{"cve":[{"id":"CVE-2018-10191","description":"In versions of mruby up to and including 1.4.0, an integer overflow exists in src/vm.c::mrb_vm_exec() when handling OP_GETUPVAR in the presence of deep scope nesting, resulting in a use-after-free. An attacker that can cause Ruby code to be run can use this to possibly execute arbitrary code.","status":"published","published":"2018-04-17T21:00:00Z","modified":"2024-08-05T07:32:01.632Z","updated_at":"2026-11-02T14:35:01.619448Z"}],"euvd":[{"id":"EUVD-2018-2267","description":"In versions of mruby up to and including 1.4.0, an integer overflow exists in src/vm.c::mrb_vm_exec() when handling OP_GETUPVAR in the presence of deep scope nesting, resulting in a use-after-free. An attacker that can cause Ruby code to be run can use this to possibly execute arbitrary code.","status":"published","published":"2018-04-17T21:00:00Z","modified":"2024-08-05T07:32:01Z","updated_at":"2026-11-03T02:39:58.981487Z"}],"ghsa":[{"id":"GHSA-444w-xm89-r2p5","title":"In versions of mruby up to and including 1.4.0, an integer overflow exists in src/vm.c:...","description":"In versions of mruby up to and including 1.4.0, an integer overflow exists in src/vm.c::mrb_vm_exec() when handling OP_GETUPVAR in the presence of deep scope nesting, resulting in a use-after-free. An attacker that can cause Ruby code to be run can use this to possibly execute arbitrary code.","status":"published","published":"2022-05-07T00:01:25Z","modified":"2023-02-01T05:02:08Z","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-190"],"updated_at":"2026-11-02T14:49:51.128354Z"}],"nvd":[{"id":"CVE-2018-10191","description":"In versions of mruby up to and including 1.4.0, an integer overflow exists in src/vm.c::mrb_vm_exec() when handling OP_GETUPVAR in the presence of deep scope nesting, resulting in a use-after-free. An attacker that can cause Ruby code to be run can use this to possibly execute arbitrary code.","status":"published","published":"2018-04-17T21:29:00.233Z","modified":"2026-06-17T01:33:38.97Z","cvss":[{"version":"3.1","score":9.8,"vector":"CVSS:3.1/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-190"],"updated_at":"2026-11-02T14:04:25.506659Z"}],"osv":[{"id":"CVE-2018-10191","description":"In versions of mruby up to and including 1.4.0, an integer overflow exists in src/vm.c::mrb_vm_exec() when handling OP_GETUPVAR in the presence of deep scope nesting, resulting in a use-after-free. An attacker that can cause Ruby code to be run can use this to possibly execute arbitrary code.","status":"published","published":"2018-04-17T21:29:00.233Z","modified":"2026-10-20T13:28:32.615844452Z","cvss":[{"version":"3.1","score":9.8,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","level":"critical"}],"updated_at":"2026-11-02T15:44:07.641418Z"},{"id":"DEBIAN-CVE-2018-10191","description":"In versions of mruby up to and including 1.4.0, an integer overflow exists in src/vm.c::mrb_vm_exec() when handling OP_GETUPVAR in the presence of deep scope nesting, resulting in a use-after-free. An attacker that can cause Ruby code to be run can use this to possibly execute arbitrary code.","status":"published","published":"2018-04-17T21:29:00.233Z","modified":"2026-10-23T18:03:18.002440973Z","cvss":[{"version":"3.1","score":9.8,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","level":"critical"}],"updated_at":"2026-11-02T15:45:29.988046Z"},{"id":"UBUNTU-CVE-2018-10191","description":"In versions of mruby up to and including 1.4.0, an integer overflow exists in src/vm.c::mrb_vm_exec() when handling OP_GETUPVAR in the presence of deep scope nesting, resulting in a use-after-free. An attacker that can cause Ruby code to be run can use this to possibly execute arbitrary code.","status":"published","published":"2018-04-17T21:29:00Z","modified":"2026-04-22T11:40:21.464638Z","cvss":[{"version":"3.1","score":9.8,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","level":"critical"}],"updated_at":"2026-11-02T15:54:16.544091Z"},{"id":"DLA-2996-1","title":"mruby - security update","status":"published","published":"2022-05-06T00:00:00Z","modified":"2026-03-09T01:23:12.964589Z","updated_at":"2026-11-02T15:46:11.189256Z"}]}}
