Executive brief
mruby/c is a lightweight implementation of the Ruby programming language designed for microcontrollers and embedded systems with limited memory. A vulnerability was found where the software crashes when it encounters a 'super' command used in an improper context, such as at the top level of a script. This allows a specially crafted program to shut down the interpreter, potentially causing a denial-of-service for the device or application using it.
Technical details
A NULL pointer dereference exists in src/vm.c within the op_super() function (OP_SUPER opcode). The vulnerability is caused by a missing runtime guard when 'super' is called at the top-level or outside of a method context, where vm->callinfo_tail is NULL. An attacker who can provide or execute arbitrary mruby bytecode (.mrb files) can trigger this dereference, leading to a process crash (Denial of Service). This issue is similar to CVE-2022-1201 in the main mruby implementation. A fix has been identified that adds a check for NULL callinfo and raises a NoMethodError instead of crashing.
Affected products
- mrubyc mrubyc through 3.4.1
Timeline
- 2026-03-19: disclosed: Issue reported on GitHub
- 2026-07-06: advisory: CVE published to NVD