Raw vector
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:L/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:XSummary
CVE-2026-34211 is a medium-severity Uncontrolled Recursion (CWE-674) vulnerability in Nyariv Sandboxjs. Its CVSS base score is 6.9 (Medium).
Operationally, exploitation aligns with the MITRE ATT&CK technique Endpoint Denial of Service (T1499); ranked at the 33th percentile by exploit likelihood (below the median); it is not currently listed in the CISA KEV catalog; a public proof-of-concept is referenced.
The strongest mitigations our analysis identified map to SI-10 (Information Input Validation) and SC-5 (Denial-of-service Protection) — see the control section below for these in your framework.
Deeper analysis AI-assisted summary
Synthesised by an AI model from the NVD description and linked references — a reading aid, not an authoritative source.
CVE-2026-34211 affects SandboxJS, a JavaScript sandboxing library, specifically versions prior to 0.8.36 in the @nyariv/sandboxjs parser. The vulnerability stems from unbounded recursion in the restOfExp function and the lispify/lispifyExpr call chain, which can be triggered by parsing deeply nested expressions. This leads to a RangeError: Maximum call stack size exceeded in any Node.js process handling untrusted input, resulting in process termination. The issue is classified under CWE-674 (Uncontrolled Recursion) with a CVSS v3.1 base score of 7.5 (AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H).
An attacker can exploit this vulnerability remotely over the network with low complexity and no required privileges or user interaction. By supplying malicious input such as approximately 2000 nested parentheses to the parser, the recursion exhausts the Node.js call stack, causing a denial-of-service condition that crashes the affected process. This impacts availability but does not allow confidentiality or integrity violations.
The GitHub security advisory at https://github.com/nyariv/SandboxJS/security/advisories/GHSA-8pfc-jjgw-6g26 confirms the vulnerability and states that it is fixed in SandboxJS version 0.8.36, recommending immediate upgrades for applications parsing untrusted input.
EU & UK References
- 🇪🇺 ENISA EUVD: EUVD-2026-19299
Vulnerability Data
SandboxJS is a JavaScript sandboxing library. Prior to 0.8.36, the @nyariv/sandboxjs parser contains unbounded recursion in the restOfExp function and the lispify/lispifyExpr call chain. An attacker can crash any Node.js process that parses untrusted input by supplying deeply nested expressions…
more
(e.g., ~2000 nested parentheses), causing a RangeError: Maximum call stack size exceeded that terminates the process. This vulnerability is fixed in 0.8.36.
- CWE(s)
Related Threats
MITRE ATT&CK Enterprise Techniques
CVEs Like This One
Affected Assets
Mitigating Controls
Mitigating Controls (NIST 800-53 r5) AI
Input validation can reject or constrain data that would otherwise drive unbounded recursive calls.
DoS protection mechanisms limit the resource-exhaustion impact of uncontrolled recursion without eliminating the flaw.
System monitoring can observe anomalous resource consumption that signals runaway recursion after it begins.
Mitigating Controls (NIST CSF 2.0) AI
Derived directly from the weakness types (CWEs) cited in the NVD entry via our AI-authored CWE→CSF cross-walk (authority under review) — links open the control.
Secure SDLC practices directly prevent coding errors such as missing recursion limits or termination conditions.
Runtime monitoring of compute resources can detect excessive consumption caused by uncontrolled recursion.
Vulnerability identification processes can discover and record uncontrolled recursion flaws before deployment.
Capacity monitoring and resource provisioning can absorb or limit the impact of runaway recursion.
Mitigating Controls (ISO/IEC 27001:2022 Annex A) AI
Derived directly from the weakness types (CWEs) cited in the NVD entry via our AI-authored CWE→ISO cross-walk (authority under review) — links open the control.
Security testing in development can detect excessive recursion via static analysis or fuzzing.
Secure development life cycle requires controls that prevent uncontrolled recursion through design and code review.
Application security requirements can mandate recursion limits or stack-depth checks.
Secure system architecture principles include resource-management and input-validation rules that limit recursion.
Secure coding standards directly prohibit or constrain recursive constructs that could exhaust stack or memory.
Capacity management includes monitoring and limits that mitigate resource exhaustion from runaway recursion.