Threat Advisory

Kobako Sandbox Escape Allows Arbitrary Ruby Execution

Threat: Vulnerability
Targeted Region: Global
Targeted Sector: Technology & IT
Criticality: Critical
[subscribe_to_unlock_form]

EXECUTIVE SUMMARY:

CVE-2026-55107 is a critical vulnerability in kobako, allowing arbitrary ruby execution via method_missing → public_send. The flaw type is CWE-94 and CWE-470. A guest mruby script running inside the Kobako sandbox can execute arbitrary Ruby in the host process, fully escaping the sandbox. This occurs because the dispatcher passed the guest-supplied method name straight to `Object#public_send` on the bound object without restriction. A guest pivots through the public `send` into otherwise private Kernel methods: a dispatch request with `method = "send"` and `args = [:eval, "<ruby>"]` evaluates to `target.send(:eval, "<ruby>")`, running attacker-controlled Ruby in the host. Any bound Service object is sufficient — no Service-specific behavior is required. This leads to complete sandbox escape and remote code execution in the host process, defeating the gem's central guarantee of isolating untrusted mruby scripts. All released versions (0.1.0 through 0.9.0) are vulnerable; the dispatcher carried the same unguarded `public_send` sink under three successive names (`registry` → `rpc` → `transport`). The vulnerability affects any deployment that runs untrusted or attacker-influenced scripts, and patches were fixed in version 0.9.1.

RECOMMENDATION:

We recommend you to update kobako to version 0.9.1.[/subscribe_to_unlock_form]

EXECUTIVE SUMMARY:

CVE-2026-55107 is a critical vulnerability in kobako, allowing arbitrary ruby execution via method_missing → public_send. The flaw type is CWE-94 and CWE-470. A guest mruby script running inside the Kobako sandbox can execute arbitrary Ruby in the host process, fully escaping the sandbox. This occurs because the dispatcher passed the guest-supplied method name straight to `Object#public_send` on the bound object without restriction. A guest pivots through the public `send` into otherwise private Kernel methods: a dispatch request with `method = "send"` and `args = [:eval, "<ruby>"]` evaluates to `target.send(:eval, "<ruby>")`, running attacker-controlled Ruby in the host. Any bound Service object is sufficient — no Service-specific behavior is required. This leads to complete sandbox escape and remote code execution in the host process, defeating the gem's central guarantee of isolating untrusted mruby scripts. All released versions (0.1.0 through 0.9.0) are vulnerable; the dispatcher carried the same unguarded `public_send` sink under three successive names (`registry` → `rpc` → `transport`). The vulnerability affects any deployment that runs untrusted or attacker-influenced scripts, and patches were fixed in version 0.9.1.

RECOMMENDATION:

We recommend you to update kobako to version 0.9.1.[emaillocker id="1283"]

REFERENCES:

The following reports contain further technical details:

[/emaillocker]
crossmenu