Directus affected by VM2 sandbox escape vulnerabilityGHSA-22rr-f3p8-5gf8
HIGHFix: directus/directus#19332GHSA-22rr-f3p8-5gf8 is a high-severity (CVSS 7.6) remote code execution vulnerability in directus. A fix is available for directus — see the affected versions and patch details below.
Real-World Exposure
How broadly this vulnerability is actually deployed: weekly install volume shows current usage, and reverse-dependency count shows how many other packages break if it stays unpatched.
directusnpmDescription
Impact
In vm2 for versions up to 3.9.19, Promise handler sanitization can be bypassed, allowing attackers to escape the sandbox and run arbitrary code. Within Directus this applies to the "Run Script" operation in flows being able to escape the sandbox running code in the main nodejs context.
Patches
Patched in v10.6.0 by replacing vm2 with isolated-vm
Workarounds
None
References
https://github.com/patriksimek/vm2/security/advisories/GHSA-cchq-frgv-rjh5
Affected Packages
| Ecosystem | Package | Vulnerable range | Fix |
|---|---|---|---|
| 📦npm | directus | all versions | 10.6.0npm install directus@10.6.0 |
Detection & mitigation playbook
Open-source dependencyDetect
Scan your dependency tree (package-lock.json, pnpm-lock.yaml, requirements.txt, go.sum, etc.) for directus, including transitive dependencies — a direct dependency you never call can still pull in a vulnerable version.
Fix
Update directus to 10.6.0 or later, then make sure no transitive (indirect) dependency still pins the vulnerable range — O3 confirms GHSA-22rr-f3p8-5gf8 is resolved across your whole dependency graph.
Workarounds
If you can't upgrade right away: gate or disable the affected feature, validate untrusted input at the boundary, and avoid passing attacker-controlled data into the vulnerable path. O3's runtime protection blocks exploitation in production as an interim safeguard until the upgrade lands.
Frequently Asked Questions
Is GHSA-22rr-f3p8-5gf8 in your dependencies?
Find it across npm, including transitive dependencies.