The SentinelOne Annual Threat Report - A Defenders Guide from the FrontlinesThe SentinelOne Annual Threat ReportGet the Report
Experiencing a Breach?Blog
Get StartedContact Us
SentinelOne
  • Platform
    Platform Overview
    • Singularity Platform
      Welcome to Integrated Enterprise Security
    • AI for Security
      Leading the Way in AI-Powered Security Solutions
    • Securing AI
      Accelerate AI Adoption with Secure AI Tools, Apps, and Agents.
    • How It Works
      The Singularity XDR Difference
    • Singularity Marketplace
      One-Click Integrations to Unlock the Power of XDR
    • Pricing & Packaging
      Comparisons and Guidance at a Glance
    Data & AI
    • Purple AI
      Accelerate SecOps with Generative AI
    • Singularity Hyperautomation
      Easily Automate Security Processes
    • AI-SIEM
      The AI SIEM for the Autonomous SOC
    • AI Data Pipelines
      Security Data Pipeline for AI SIEM and Data Optimization
    • Singularity Data Lake
      AI-Powered, Unified Data Lake
    • Singularity Data Lake for Log Analytics
      Seamlessly Ingest Data from On-Prem, Cloud or Hybrid Environments
    Endpoint Security
    • Singularity Endpoint
      Autonomous Prevention, Detection, and Response
    • Singularity XDR
      Native & Open Protection, Detection, and Response
    • Singularity RemoteOps Forensics
      Orchestrate Forensics at Scale
    • Singularity Threat Intelligence
      Comprehensive Adversary Intelligence
    • Singularity Vulnerability Management
      Application & OS Vulnerability Management
    • Singularity Identity
      Identity Threat Detection and Response
    Cloud Security
    • Singularity Cloud Security
      Block Attacks with an AI-Powered CNAPP
    • Singularity Cloud Native Security
      Secure Cloud and Development Resources
    • Singularity Cloud Workload Security
      Real-Time Cloud Workload Protection Platform
    • Singularity Cloud Data Security
      AI-Powered Threat Detection for Cloud Storage
    • Singularity Cloud Security Posture Management
      Detect and Remediate Cloud Misconfigurations
    Securing AI
    • Prompt Security
      Secure AI Tools Across Your Enterprise
  • Why SentinelOne?
    Why SentinelOne?
    • Why SentinelOne?
      Cybersecurity Built for What’s Next
    • Our Customers
      Trusted by the World’s Leading Enterprises
    • Industry Recognition
      Tested and Proven by the Experts
    • About Us
      The Industry Leader in Autonomous Cybersecurity
    Compare SentinelOne
    • Arctic Wolf
    • Broadcom
    • CrowdStrike
    • Cybereason
    • Microsoft
    • Palo Alto Networks
    • Sophos
    • Splunk
    • Trellix
    • Trend Micro
    • Wiz
    Verticals
    • Energy
    • Federal Government
    • Finance
    • Healthcare
    • Higher Education
    • K-12 Education
    • Manufacturing
    • Retail
    • State and Local Government
  • Services
    Managed Services
    • Managed Services Overview
      Wayfinder Threat Detection & Response
    • Threat Hunting
      World-Class Expertise and Threat Intelligence
    • Managed Detection & Response
      24/7/365 Expert MDR Across Your Entire Environment
    • Incident Readiness & Response
      DFIR, Breach Readiness, & Compromise Assessments
    Support, Deployment, & Health
    • Technical Account Management
      Customer Success with Personalized Service
    • SentinelOne GO
      Guided Onboarding & Deployment Advisory
    • SentinelOne University
      Live and On-Demand Training
    • Services Overview
      Comprehensive Solutions for Seamless Security Operations
    • SentinelOne Community
      Community Login
  • Partners
    Our Network
    • MSSP Partners
      Succeed Faster with SentinelOne
    • Singularity Marketplace
      Extend the Power of S1 Technology
    • Cyber Risk Partners
      Enlist Pro Response and Advisory Teams
    • Technology Alliances
      Integrated, Enterprise-Scale Solutions
    • SentinelOne for AWS
      Hosted in AWS Regions Around the World
    • Channel Partners
      Deliver the Right Solutions, Together
    • SentinelOne for Google Cloud
      Unified, Autonomous Security Giving Defenders the Advantage at Global Scale
    • Partner Locator
      Your Go-to Source for Our Top Partners in Your Region
    Partner Portal→
  • Resources
    Resource Center
    • Case Studies
    • Data Sheets
    • eBooks
    • Reports
    • Videos
    • Webinars
    • Whitepapers
    • Events
    View All Resources→
    Blog
    • Feature Spotlight
    • For CISO/CIO
    • From the Front Lines
    • Identity
    • Cloud
    • macOS
    • SentinelOne Blog
    Blog→
    Tech Resources
    • SentinelLABS
    • Ransomware Anthology
    • Cybersecurity 101
  • About
    About SentinelOne
    • About SentinelOne
      The Industry Leader in Cybersecurity
    • Investor Relations
      Financial Information & Events
    • SentinelLABS
      Threat Research for the Modern Threat Hunter
    • Careers
      The Latest Job Opportunities
    • Press & News
      Company Announcements
    • Cybersecurity Blog
      The Latest Cybersecurity Threats, News, & More
    • FAQ
      Get Answers to Our Most Frequently Asked Questions
    • DataSet
      The Live Data Platform
    • S Foundation
      Securing a Safer Future for All
    • S Ventures
      Investing in the Next Generation of Security, Data and AI
  • Pricing
Get StartedContact Us
CVE Vulnerability Database
Vulnerability Database/CVE-2026-43998

CVE-2026-43998: Vm2_project Vm2 RCE Vulnerability

CVE-2026-43998 is a remote code execution flaw in Vm2_project Vm2 that allows attackers to bypass path restrictions using symlinks. This post explains its impact, affected versions, and mitigation steps.

Published: May 17, 2026

CVE-2026-43998 Overview

CVE-2026-43998 is a sandbox escape vulnerability in vm2, an open source virtual machine and sandbox library for Node.js. The flaw affects version 3.10.5 and allows sandboxed code to bypass the NodeVMrequire.root path restriction using filesystem symbolic links. Path validation uses path.resolve(), which does not dereference symlinks, while module loading uses Node's native require(), which does. This inconsistency lets attackers load arbitrary host-realm modules and achieve remote code execution. The maintainers fixed the issue in version 3.11.0.

Critical Impact

Sandboxed code can escape the vm2NodeVM boundary, load arbitrary modules from the host, and execute code outside the sandbox context.

Affected Products

  • vm2 version 3.10.5 (vm2_project)
  • Node.js applications embedding vm2NodeVM with require.root restrictions
  • Downstream packages that rely on vm2 for untrusted code execution

Discovery Timeline

  • 2026-05-13 - CVE-2026-43998 published to NVD
  • 2026-05-14 - Last updated in NVD database

Technical Details for CVE-2026-43998

Vulnerability Analysis

The vulnerability is a symlink-based path validation bypass classified as [CWE-59] (Improper Link Resolution Before File Access, or Link Following). vm2NodeVM exposes a require.root option intended to confine sandboxed require() calls to a specific directory tree on the host. When sandboxed code calls require(), vm2 validates the requested module path against this root before delegating loading to Node.js.

The defect lies in the asymmetry between validation and loading. vm2 normalizes the requested path with path.resolve(), which performs lexical path resolution and does not follow symbolic links. Node's underlying require() implementation, however, resolves the real filesystem path and follows symlinks during module loading. An attacker who can place or reference a symlink inside the allowed root can therefore make a path appear compliant during validation while pointing to an arbitrary file outside the root at load time.

Once a host-realm module is loaded, code executes with the privileges of the host Node.js process rather than the sandbox, giving the attacker full remote code execution. Exploitation requires the attacker to control sandboxed code and to influence symlinks within the configured root, which is reflected in the high attack complexity and low privilege requirements.

Root Cause

The root cause is inconsistent path canonicalization between security checks and the privileged operation that follows. path.resolve() returns a lexically normalized string, while fs.realpath() or equivalent symlink dereferencing is required to enforce a true filesystem boundary. Skipping that step leaves a time-of-check to time-of-use style gap that symlinks exploit deterministically.

Attack Vector

The attack vector is network-reachable through any application that passes attacker-influenced code to a vm2NodeVM configured with require.root. The attacker crafts a module path that lexically resides inside require.root but resolves through a symlink to a target outside the root, such as a privileged Node module or a shell-bridging library. Calling require() on that path triggers host-realm code execution.

No verified public proof-of-concept is referenced in the advisory. See the GitHub Security Advisory GHSA-cp6g-6699-wx9c for maintainer details.

Detection Methods for CVE-2026-43998

Indicators of Compromise

  • Symbolic links created inside any directory configured as require.root for vm2, especially links pointing outside that tree.
  • Node.js processes loading modules from paths outside the declared sandbox root shortly after sandboxed require() calls.
  • Unexpected child processes such as /bin/sh, cmd.exe, or node spawned by an application that normally only evaluates sandboxed scripts.

Detection Strategies

  • Audit application dependencies for vm2 at version 3.10.5 or earlier using npm ls vm2 or software composition analysis tooling.
  • Instrument host Node.js processes to log resolved module paths and compare them against the configured require.root value.
  • Monitor filesystem activity inside sandbox roots for symlink(2) syscalls or new entries where lstat and stat disagree.

Monitoring Recommendations

  • Alert on Node.js processes embedding vm2 that execute outbound network connections or spawn shells after evaluating untrusted input.
  • Capture process lineage and file access telemetry for services that accept user-supplied scripts, plugins, or templates.
  • Review application logs for vm2require() calls referencing paths containing .. segments or unusual directory traversals.

How to Mitigate CVE-2026-43998

Immediate Actions Required

  • Upgrade vm2 to version 3.11.0 or later in all affected applications and rebuild dependent services.
  • Inventory every service that embeds vm2 and confirm the resolved version after upgrade with npm ls vm2.
  • Treat any code executed inside vm2 as untrusted and reassess whether vm2 is appropriate for the threat model, since the project is widely considered deprecated for strong isolation.

Patch Information

The maintainers fixed CVE-2026-43998 in vm2 version 3.11.0. The patch enforces consistent path resolution so that symlink targets are evaluated against require.root before native require() is invoked. Full details are published in the GitHub Security Advisory GHSA-cp6g-6699-wx9c.

Workarounds

  • If immediate upgrade is not possible, disable require in NodeVM configuration or set require.external to false to block module loading from sandboxed code.
  • Run the Node.js host process under a restricted user with read-only access to directories outside require.root and no privileged binaries on PATH.
  • Place sandbox roots on filesystems mounted with nosymfollow where supported, or pre-validate roots to contain no symbolic links.
bash
# Configuration example
npm install vm2@3.11.0
npm ls vm2

Disclaimer: This content was generated using AI. While we strive for accuracy, please verify critical information with official sources.

  • Vulnerability Details
  • TypeRCE

  • Vendor/TechVm2

  • SeverityHIGH

  • CVSS Score8.5

  • EPSS Probability0.25%

  • Known ExploitedNo
  • CVSS Vector
  • CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:C/C:H/I:H/A:H
  • Impact Assessment
  • ConfidentialityHigh
  • IntegrityNone
  • AvailabilityHigh
  • CWE References
  • CWE-59
  • Vendor Resources
  • GitHub Security Advisory
  • Related CVEs
  • CVE-2026-44005: Vm2 Sandbox RCE Vulnerability

  • CVE-2026-43999: Vm2_project Vm2 RCE Vulnerability

  • CVE-2026-43997: Vm2_project Vm2 RCE Vulnerability

  • CVE-2026-44000: Vm2 Sandbox Escape RCE Vulnerability
Default Legacy - Prefooter | Experience the World’s Most Advanced Cybersecurity Platform

Experience the Most Advanced Cybersecurity Platform

See how the world’s most intelligent, autonomous cybersecurity platform can protect your organization today and into the future.

Try SentinelOne
  • Get Started
  • Get a Demo
  • Product Tour
  • Why SentinelOne
  • Pricing & Packaging
  • FAQ
  • Contact
  • Contact Us
  • Customer Support
  • SentinelOne Status
  • Language
  • Platform
  • Singularity Platform
  • Singularity Endpoint
  • Singularity Cloud
  • Singularity AI-SIEM
  • Singularity Identity
  • Singularity Marketplace
  • Purple AI
  • Services
  • Wayfinder TDR
  • SentinelOne GO
  • Technical Account Management
  • Support Services
  • Verticals
  • Energy
  • Federal Government
  • Finance
  • Healthcare
  • Higher Education
  • K-12 Education
  • Manufacturing
  • Retail
  • State and Local Government
  • Cybersecurity for SMB
  • Resources
  • Blog
  • Labs
  • Case Studies
  • Videos
  • Product Tours
  • Events
  • Cybersecurity 101
  • eBooks
  • Webinars
  • Whitepapers
  • Press
  • News
  • Ransomware Anthology
  • Company
  • About Us
  • Our Customers
  • Careers
  • Partners
  • Legal & Compliance
  • Security & Compliance
  • Investor Relations
  • S Foundation
  • S Ventures

©2026 SentinelOne, All Rights Reserved.

Privacy Notice Terms of Use

English