Vulnerabilities in pkg:gem/kobako
PACKAGECVE-2026-55107 is a CRITICAL (CVSS 10.0) remote code execution vulnerability (CWE-470: Use of Externally-Controlled Input to Select Classes or Code ('Unsafe Reflection')) affecting kobako Sandbox Escape libraries in the RubyGems ecosystem. The issue involves guest eval reaches host rce via method_missing → public_send (any bound service). Remediation is available by upgrading affected packages to version 0.9.1.
pkg:gem/kobako
Vulnerability advisories affecting package pkg:gem/kobako. Select an advisory below to view technical details or fixes.
| Advisory ID | CVE / NVD | Severity | Summary |
|---|---|---|---|
| GHSA-7pwq-q9jf-539h | CVE-2026-55107 | CRITICAL | kobako Sandbox Escape: guest eval reaches host RCE via method_missing → public_send (any bound Service) |
CVE-2026-55107 at a Glance
Security Impact
CVSS: 10.0
The security impact metrics below are parsed directly from the CVSS v3.1 vector string (CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H).
How to Fix CVE-2026-55107
To remediate this vulnerability, upgrade all affected kobako Sandbox Escape dependencies to a patched release. Both direct and transitive dependencies should be checked, as frameworks or security libraries may pull in vulnerable versions transitively.
Upgrade kobako to 0.9.1
Run the following command in your project directory to verify that all resolved dependencies use the patched release:
inspect dependencies for kobako
How to Check if You Are Affected
To determine whether your application is affected by CVE-2026-55107, inspect your project dependencies for kobako Sandbox Escape:
inspect dependencies for kobako
Analyze the terminal output to locate any version of kobako Sandbox Escape in your dependency tree. If any resolved version matches the vulnerable ranges listed in the table below (for example, versions earlier than 0.9.1), your application is affected.
Note: Verify declared build manifests and deployed runtime container environments.
Technical Details
Vulnerability Mechanism & Technical Analysis
This vulnerability is classified under CWE-470: Use of Externally-Controlled Input to Select Classes or Code ('Unsafe Reflection'), where the product uses external input with reflection to select which classes or code to use, but it does not sufficiently prevent the input from selecting improper classes or code. In kobako Sandbox Escape, software state validation or input boundaries are circumvented during processing. Review the official source advisory statement below for specific affected components, classes, and reproduction details.
Source Advisory Statement
CVE-2026-55107 Affected kobako Sandbox Escape Versions
1 component(s)| Product / Package | Ecosystem | Affected Versions | Fixed Version |
|---|---|---|---|
|
kobako
|
RubyGems |
≥ 0.1.0
< 0.9.1
|
0.9.1
|
References
Frequently Asked Questions
What is CVE-2026-55107?
Which kobako Sandbox Escape versions are affected?
What version fixes CVE-2026-55107?
Is kobako affected?
What is the CVSS score of CVE-2026-55107?
What CWE is associated with CVE-2026-55107?
How can I check RubyGems dependencies for CVE-2026-55107?
Machine-readable OSV JSON
OSV v1.5 Schema
{
"schema_version" : "1.4.0",
"id" : "GHSA-7pwq-q9jf-539h",
"modified" : "2026-08-18T20:09:59Z",
"published" : "2026-08-18T20:09:59Z",
"aliases" : [ "CVE-2026-55107" ],
"summary" : "kobako Sandbox Escape: guest eval reaches host RCE via method_missing → public_send (any bound Service)",
"details" : "### Summary\nA guest mruby script running inside the Kobako sandbox can execute arbitrary\nRuby in the host process, fully escaping the sandbox.\n\n### Details\nA host embeds bound \"Service\" objects that guest scripts call across the wasm\nboundary through the transport dispatcher. The dispatcher passed the\nguest-supplied method name straight to `Object#public_send` on the bound\nobject, with no restriction to the object's own methods:\n\n```ruby\ntarget.public_send(method.to_sym, *args, **kwargs, &block)\n```\n\n`public_send` can invoke any public method, including Ruby's ambient\nreflection surface. A guest pivots through the public `send` into otherwise\nprivate Kernel methods: a dispatch request with `method = \"send\"` and\n`args = [:eval, \"<ruby>\"]` evaluates to `target.send(:eval, \"<ruby>\")`,\nrunning attacker-controlled Ruby in the host. Any bound Service object is\nsufficient — no Service-specific behavior is required.\n\n### Proof of Concept\nA guest call equivalent to:\n\n```\nService.send(:eval, \"<arbitrary host ruby>\")\n```\n\nexecutes in the host process and can read or modify host state, spawn\nprocesses, and so on.\n\n### Impact\nComplete sandbox escape leading to remote code execution in the host process,\ndefeating the gem's central guarantee of isolating untrusted mruby scripts.\nAny deployment that runs untrusted or attacker-influenced scripts is affected.\nAll released versions (0.1.0 through 0.9.0) are vulnerable; the dispatcher\ncarried the same unguarded `public_send` sink under three successive names\n(`registry` → `rpc` → `transport`).\n\n### Patches\nFixed in 0.9.1. The dispatcher now rejects any method whose resolved owner is\na core/meta module (`BasicObject`, `Kernel`, `Object`, `Module`, `Class`), so\nonly methods the bound object itself defines — or dynamically handles via\n`method_missing` — remain reachable. The ambient reflection methods (`send`,\n`__send__`, `public_send`, `instance_eval`, `instance_exec`, `method`,\n`instance_variable_get`, …) are all owned by those modules and are blocked.\n\n### Workarounds\nNone within the affected versions. Until you can upgrade, do not bind any\nhost Service object into a sandbox that runs untrusted scripts. Upgrade to\n0.9.1.\n\n### References\n- GHSA-7pwq-q9jf-539h\n- Fix commit: 64f8470\n\n### Credits\nReported and fixed by Ahmed Al Hafoudh.",
"severity" : [ {
"type" : "CVSS_V3",
"score" : "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H"
} ],
"affected" : [ {
"package" : {
"ecosystem" : "RubyGems",
"name" : "kobako"
},
"ranges" : [ {
"type" : "ECOSYSTEM",
"events" : [ {
"introduced" : "0.1.0"
}, {
"fixed" : "0.9.1"
} ]
} ],
"database_specific" : {
"last_known_affected_version_range" : "<= 0.9.0"
}
} ],
"references" : [ {
"type" : "WEB",
"url" : "https://github.com/elct9620/kobako/security/advisories/GHSA-7pwq-q9jf-539h"
}, {
"type" : "WEB",
"url" : "https://github.com/elct9620/kobako/commit/64f84700c81f44902bed9211318d5362f44987b3"
}, {
"type" : "PACKAGE",
"url" : "https://github.com/elct9620/kobako"
} ],
"database_specific" : {
"cwe_ids" : [ "CWE-470", "CWE-94" ],
"severity" : "CRITICAL",
"github_reviewed" : true,
"github_reviewed_at" : "2026-08-18T20:09:59Z",
"nvd_published_at" : null
}
}