CVE-2026-92958: vm2: NodeVM builtin denylist bypass via fs/promises despite -fs, allowing host filesystem writes
NodeVM’s builtin wildcard policy can allow sandboxed code to access fs/promises even when the embedder denies fs.
With the following configuration:
require: {
builtin: ['*', '-fs', '-child_process']
}
require('fs') and require('child_process') are blocked, but require('fs/promises') and require('node:fs/promises') are still available. This allows sandboxed code to create and write files on the host filesystem through the promise-based filesystem API.
References
- github.com/advisories/GHSA-6rh5-qq4q-97xh
- github.com/patriksimek/vm2/commit/59d35f68e52a9bd229a8a72bcd9274bd4cec2bc5
- github.com/patriksimek/vm2/releases/tag/v3.11.7
- github.com/patriksimek/vm2/security/advisories/GHSA-6rh5-qq4q-97xh
- nvd.nist.gov/vuln/detail/CVE-2026-92958
- www.vulncheck.com/advisories/vm2-before-3.11.7-denylist-bypass-via-fs-promises
Code Behaviors & Features
Detect and mitigate CVE-2026-92958 with GitLab Dependency Scanning
Secure your software supply chain by verifying that all open source dependencies used in your projects contain no disclosed vulnerabilities. Learn more about Dependency Scanning →