Skip to main content

Kobako CVE-2026-55107

CRITICAL
Code Injection (CWE-94)
2026-08-18 https://github.com/elct9620/kobako GHSA-7pwq-q9jf-539h
10.0
CVSS 3.1 · GitHub Advisory
Share

Severity by source

GitHub Advisory PRIMARY
10.0 CRITICAL
AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H
vuln.today AI
10.0 CRITICAL

A guest script (unauthenticated input) trivially escapes the sandbox to run host code, changing scope with full host confidentiality/integrity/availability loss; AV:N holds where scripts arrive remotely.

3.1 AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H
4.0 AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:H/SI:H/SA:H

Primary rating from GitHub Advisory.

CVSS VectorGitHub Advisory

Attack Vector
Network
Attack Complexity
Low
Privileges Required
None
User Interaction
None
Scope
Changed
Confidentiality
High
Integrity
High
Availability
High

Lifecycle Timeline

3
Source Code Evidence Fetched
Aug 18, 2026 - 20:46 vuln.today
Analysis Generated
Aug 18, 2026 - 20:46 vuln.today
CVE Published
Aug 18, 2026 - 20:09 github-advisory
CRITICAL 10.0

DescriptionGitHub Advisory

Summary

A guest mruby script running inside the Kobako sandbox can execute arbitrary Ruby in the host process, fully escaping the sandbox.

Details

A host embeds bound "Service" objects that guest scripts call across the wasm boundary through the transport dispatcher. The dispatcher passed the guest-supplied method name straight to Object#public_send on the bound object, with no restriction to the object's own methods:

ruby
target.public_send(method.to_sym, *args, **kwargs, &block)

public_send can invoke any public method, including Ruby's ambient reflection surface. 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.

Proof of Concept

A guest call equivalent to:

Service.send(:eval, "<arbitrary host ruby>")

executes in the host process and can read or modify host state, spawn processes, and so on.

Impact

Complete sandbox escape leading to remote code execution in the host process, defeating the gem's central guarantee of isolating untrusted mruby scripts. Any deployment that runs untrusted or attacker-influenced scripts is affected. 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 (registryrpctransport).

Patches

Fixed in 0.9.1. The dispatcher now rejects any method whose resolved owner is a core/meta module (BasicObject, Kernel, Object, Module, Class), so only methods the bound object itself defines - or dynamically handles via method_missing - remain reachable. The ambient reflection methods (send, __send__, public_send, instance_eval, instance_exec, method, instance_variable_get, …) are all owned by those modules and are blocked.

Workarounds

None within the affected versions. Until you can upgrade, do not bind any host Service object into a sandbox that runs untrusted scripts. Upgrade to 0.9.1.

References

  • GHSA-7pwq-q9jf-539h
  • Fix commit: 64f8470

Credits

Reported and fixed by Ahmed Al Hafoudh.

AnalysisAI

Sandbox escape leading to host remote code execution in Kobako, a Ruby gem that runs untrusted mruby guest scripts in a WASM sandbox. The transport dispatcher forwarded guest-supplied method names directly to Object#public_send on host-bound Service objects without restricting them to the object's own methods, letting a guest pivot through the public send into private Kernel#eval and execute arbitrary Ruby in the host process. …

Unlock full vulnerability intelligence

  • Risk assessment & exploitation conditions
  • Attack chain visualization
  • Remediation with exact patch versions
  • Threat intelligence from 22 sources
  • Personal watchlist & email alerts

Free forever · No credit card required

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata

Access
technique details hidden
Delivery
technique details hidden
Exploit
technique details hidden
Execution
technique details hidden
Impact
technique details hidden

Vulnerability AssessmentAI

Exploitation Exploitation requires that the host application (1) runs untrusted or attacker-influenced mruby scripts inside the Kobako sandbox and (2) binds at least one host Service object that guest scripts can reference through the transport dispatcher - both are Kobako's intended usage, so no exotic configuration is needed. … Additional conditions and limiting factors are described in the full assessment.
Risk Assessment The provided CVSS 3.1 vector (AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H, base 10.0) reflects a full-impact, scope-changing sandbox escape and is consistent with the described mechanism. … Full risk analysis with EPSS, KEV, and SSVC signal comparison available after sign-in.
Exploit Scenario Full exploit scenario with step-by-step reproduction available after sign-in.
Remediation Vendor-released patch: upgrade to Kobako 0.9.1, which adds an owner-based rejection so any dispatched method whose resolved owner is a core/meta module (BasicObject, Kernel, Object, Module, Class) is refused, blocking send, __send__, public_send, instance_eval, instance_exec, method, and instance_variable_get while leaving genuine Service methods (and method_missing-handled dynamic Services) reachable. … Detailed patch versions, workarounds, and compensating controls in full report.

Recommended ActionAI

Within 24 hours: identify all systems running Kobako versions 0.1.0-0.9.0, document their business criticality, and implement network isolation where feasible to limit blast radius. …

Sign in for detailed remediation steps and compensating controls.

Threat intelligence, references, and detailed analysis are available after sign-in.

Share

CVE-2026-55107 vulnerability details – vuln.today

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy