In versions of mruby up to and including 1.4.0, an integer overflow exists in src/vm.c::mrbvmexec() 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.
[
{
"id": "CVE-2018-10191-4f906dc6",
"deprecated": false,
"signature_version": "v1",
"signature_type": "Line",
"digest": {
"line_hashes": [
"318179098320671580796334812011546468836",
"31385894504806590158479134728976733374",
"291488986920338441806228910834754532837",
"234188554461621141776788455322527686487",
"12890778145267399150668197333810861362",
"46198236631767394421020263073167925398",
"315187527932322571882289740280446195103",
"295169726589021630819681535583790457470"
],
"threshold": 0.9
},
"target": {
"file": "src/vm.c"
},
"source": "https://github.com/mruby/mruby/commit/1905091634a6a2925c911484434448e568330626"
},
{
"id": "CVE-2018-10191-9de90541",
"deprecated": false,
"signature_version": "v1",
"signature_type": "Function",
"digest": {
"function_hash": "105486956670678688502489234273124890437",
"length": 34172.0
},
"target": {
"file": "src/vm.c",
"function": "mrb_vm_exec"
},
"source": "https://github.com/mruby/mruby/commit/1905091634a6a2925c911484434448e568330626"
}
]