CVE-2026-47135: Incomplete Symbol For Namespace Block

Overriding `Symbol.for` with exact string matches (e.g., `=== 'nodejs.util.inspect.custom'`) against Node.js internal cross-realm symbols is an incomplete mitigation. Unhandled `nodejs.` symbols (such as streams or promisify hooks) can bypass the sandbox. Instead, block or isolate the entire `nodejs.` namespace using a prefix match.

Provally CuratedPublic repositoryHighMedium confidenceVerifiedApache-2.0JS
greprules fetch cve-2026-47135-incomplete-symbol-for-namespace-block --engine opengrep

Description

Overriding `Symbol.for` with exact string matches (e.g., `=== 'nodejs.util.inspect.custom'`) against Node.js internal cross-realm symbols is an incomplete mitigation. Unhandled `nodejs.` symbols (such as streams or promisify hooks) can bypass the sandbox. Instead, block or isolate the entire `nodejs.` namespace using a prefix match.