Focus on mruby vulnerabilities and metrics.
Last updated: 08 Mar 2025, 23:25 UTC
This page consolidates all known Common Vulnerabilities and Exposures (CVEs) associated with mruby. We track both calendar-based metrics (using fixed periods) and rolling metrics (using gliding windows) to give you a comprehensive view of security trends and risk evolution. Use these insights to assess risk and plan your patching strategy.
For a broader perspective on cybersecurity threats, explore the comprehensive list of CVEs by vendor and product. Stay updated on critical vulnerabilities affecting major software and hardware providers.
Total mruby CVEs: 38
Earliest CVE date: 11 Jun 2017, 17:29 UTC
Latest CVE date: 14 Feb 2023, 16:15 UTC
Latest CVE reference: CVE-2021-46023
30-day Count (Rolling): 0
365-day Count (Rolling): 0
Calendar-based Variation
Calendar-based Variation compares a fixed calendar period (e.g., this month versus the same month last year), while Rolling Growth Rate uses a continuous window (e.g., last 30 days versus the previous 30 days) to capture trends independent of calendar boundaries.
Month Variation (Calendar): 0%
Year Variation (Calendar): 0%
Month Growth Rate (30-day Rolling): 0.0%
Year Growth Rate (365-day Rolling): 0.0%
Average CVSS: 6.08
Max CVSS: 7.8
Critical CVEs (≥9): 0
Range | Count |
---|---|
0.0-3.9 | 1 |
4.0-6.9 | 22 |
7.0-8.9 | 15 |
9.0-10.0 | 0 |
These are the five CVEs with the highest CVSS scores for mruby, sorted by severity first and recency.
An Untrusted Pointer Dereference was discovered in function mrb_vm_exec in mruby before 3.1.0-rc. The vulnerability causes a segmentation fault and application crash.
Use After Free in GitHub repository mruby/mruby prior to 3.2.
Out-of-bounds Read in mrb_obj_is_kind_of in in GitHub repository mruby/mruby prior to 3.2. # Impact: Possible arbitrary code execution if being exploited.
heap-buffer-overflow in mrb_vm_exec in mruby/mruby in GitHub repository mruby/mruby prior to 3.2. Possible arbitrary code execution if being exploited.
Out-of-bounds Read in mrb_get_args in GitHub repository mruby/mruby prior to 3.2. Possible arbitrary code execution if being exploited.
Use-After-Free in str_escape in mruby/mruby in GitHub repository mruby/mruby prior to 3.2. Possible arbitrary code execution if being exploited.
NULL Pointer Dereference in mrb_vm_exec with super in GitHub repository mruby/mruby prior to 3.2. This vulnerability is capable of making the mruby interpreter crash, thus affecting the availability of the system.
use after free in mrb_vm_exec in GitHub repository mruby/mruby prior to 3.2.
User after free in mrb_vm_exec in GitHub repository mruby/mruby prior to 3.2.
NULL Pointer Dereference in GitHub repository mruby/mruby prior to 3.2.
Out-of-bounds Read in GitHub repository mruby/mruby prior to 3.2.
NULL Pointer Dereference in Homebrew mruby prior to 3.2.
Out-of-bounds Read in Homebrew mruby prior to 3.2.
Heap-based Buffer Overflow in Homebrew mruby prior to 3.2.
Out-of-bounds Read in Homebrew mruby prior to 3.2.
Use of Out-of-range Pointer Offset in Homebrew mruby prior to 3.2.
Heap-based Buffer Overflow in Homebrew mruby prior to 3.2.
Out-of-bounds Read in Homebrew mruby prior to 3.2.
NULL Pointer Dereference in Homebrew mruby prior to 3.2.
NULL Pointer Dereference in Homebrew mruby prior to 3.2.
mruby is vulnerable to NULL Pointer Dereference
An untrusted pointer dereference in mrb_vm_exec() of mruby v3.0.0 can lead to a segmentation fault or application crash.
mruby is vulnerable to Heap-based Buffer Overflow
mruby is vulnerable to NULL Pointer Dereference
mruby is vulnerable to NULL Pointer Dereference
mruby 2.1.2 has a double free in mrb_default_allocf (called from mrb_free and obj_free).
mruby through 2.1.2-rc has a heap-based buffer overflow in the mrb_yield_with_class function in vm.c because of incorrect VM stack handling. It can be triggered via the stack_copy function.
In mruby 2.1.0, there is a use-after-free in hash_slice in mrbgems/mruby-hash-ext/src/hash-ext.c.
In mruby 2.1.0, there is a stack-based buffer overflow in mrb_str_len_to_dbl in string.c.
In mruby 2.1.0, there is a use-after-free in hash_values_at in mrbgems/mruby-hash-ext/src/hash-ext.c.
The CHECK macro in mrbgems/mruby-sprintf/src/sprintf.c in mruby 1.4.1 contains a signed integer overflow, possibly leading to out-of-bounds memory access because the mrb_str_resize function in string.c does not check for a negative length.
An issue was discovered in mruby 1.4.1. There is a NULL pointer dereference in mrb_class_real because "class BasicObject" is not properly supported in class.c.
An issue was discovered in mruby 1.4.1. There is a heap-based buffer over-read associated with OP_ENTER because mrbgems/mruby-fiber/src/fiber.c does not extend the stack in cases of many arguments to fiber.
An issue was discovered in mruby 1.4.1. There is a NULL pointer dereference in mrb_class, related to certain .clone usage, because mrb_obj_clone in kernel.c copies flags other than the MRB_FLAG_IS_FROZEN flag (e.g., the embedded flag).
The init_copy function in kernel.c in mruby 1.4.1 makes initialize_copy calls for TT_ICLASS objects, which allows attackers to cause a denial of service (mrb_hash_keys uninitialized pointer and application crash) or possibly have unspecified other impact.
In versions of mruby up to and including 1.4.0, a use-after-free vulnerability exists in src/io.c::File#initilialize_copy(). An attacker that can cause Ruby code to be run can possibly use this to execute arbitrary code.
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.
The mark_context_stack function in gc.c in mruby through 1.2.0 allows attackers to cause a denial of service (heap-based use-after-free and application crash) or possibly have unspecified other impact via a crafted .rb file.