{"id":2458,"date":"2026-08-20T14:40:28","date_gmt":"2026-08-20T14:40:28","guid":{"rendered":"https:\/\/thedigitalfortress.us\/?p=2458"},"modified":"2026-08-20T14:40:28","modified_gmt":"2026-08-20T14:40:28","slug":"isolated-vm-flaw-lets-sandboxed-javascript-escape-to-host-for-potential-rce","status":"publish","type":"post","link":"https:\/\/thedigitalfortress.us\/?p=2458","title":{"rendered":"Isolated-vm Flaw Lets Sandboxed JavaScript Escape to Host for Potential RCE"},"content":{"rendered":"<div>\n<p><span class=\"p-author\"><i class=\"icon-font icon-user\">\ue804<\/i><span class=\"author\">Ravie Lakshmanan<\/span><i class=\"icon-font icon-calendar\">\ue802<\/i><span class=\"author\">Aug 20, 2026<\/span><\/span><span class=\"p-tags\">Vulnerability \/ Application Security<\/span><\/p>\n<\/div>\n<div id=\"articlebody\">\n<div class=\"separator\" style=\"clear: both;\"><a href=\"https:\/\/blogger.googleusercontent.com\/img\/b\/R29vZ2xl\/AVvXsEiJ3-aEfGwe03ZMojsoiYaQ4TNjUiAPEFK-m68uY5JSlF8knbnGWOcBrqiB_4s6J47lPjyhQEuWdUMHnktRU6YfOcltn7_lXga77C8TNH4GOVAPrmIH_T0MsFKFkmQSMnvf42bnLlH0pC4BVMEpAZJLLTH51GpgfZybiZ_UWNLhKxx1oGi8PyD3bOUGG0_F\/s1700-e365\/nodejs.jpg\" style=\"display: block;  text-align: center; clear: left; float: left;\"><\/a><\/div>\n<p>Cybersecurity researchers have disclosed a critical security flaw in <strong><a href=\"https:\/\/github.com\/laverdet\/isolated-vm\" target=\"_blank\">isolated-vm<\/a><\/strong>, a popular open-source sandbox with more than 2,900 stars and 190 forks on GitHub, that could allow attackers to escape the confines of the isolated environment.<\/p>\n<p>The vulnerability (\u00ab<a href=\"https:\/\/github.com\/laverdet\/isolated-vm\/security\/advisories\/GHSA-864f-rcv7-6rh4\" target=\"_blank\">GHSA-864f-rcv7-6rh4<\/a>\u00ab), which has yet to be assigned a CVE identifier, impacts all versions of the library before and including 7.0.0. It has been patched in versions 6.2.0 and 7.0.1 released earlier this month.<\/p>\n<p>Isolated-vm is a Node.js library for running untrusted JavaScript inside a <a href=\"https:\/\/v8docs.nodesource.com\/node-0.8\/d5\/dda\/classv8_1_1_isolate.html\" target=\"_blank\">V8 Isolate<\/a>, an independent instance of the Google V8 JavaScript engine, allowing multiple sandboxed JavaScript environments to run concurrently without sharing data or interfering with each other. The <a href=\"https:\/\/www.npmjs.com\/package\/isolated-vm\" target=\"_blank\">npm package<\/a> has witnessed nearly 1 million downloads over the past week.<\/p>\n<div class=\"dog_two clear\">\n<div class=\"cf\"><a href=\"https:\/\/thehackernews.uk\/zero-trust-claude-d\" rel=\"nofollow noopener sponsored\" target=\"_blank\"><img loading=\"lazy\" decoding=\"async\" class=\"lazyload\" alt=\"Cybersecurity\" src=\"https:\/\/blogger.googleusercontent.com\/img\/b\/R29vZ2xl\/AVvXsEj8iAp2j8rqTq6aptj6yiYHC-B73UxnWI2NQMt0azp6OVLq9JkO8cpYokLWa8t_IKqrHKPsaM5D_lQ9Ip7kZTi3at4oYfzN1m1b_T4b6MuzBWtmlhdLcQ0nZHicD94rliREFDRewsKBQCTYrAAVNzYKj84_0EZskDUxvkc972s9fYAqcQGEQjVZTc0cr7TB\/s728-e100\/ThreatLocker-d.jpg\" width=\"729\" height=\"91\"\/><\/a><\/div>\n<\/div>\n<p>Because each V8 Isolate has a separate state and maintains its own heap, it is not possible to directly pass JavaScript objects from the main Node.js thread into a worker isolate. Isolated-vm exposes a class called <b>ExternalCopy <\/b>to securely serialize JavaScript objects out of the host isolate and deserialize them into the guest isolate.<\/p>\n<p><a name=\"more\"\/><\/p>\n<p>The vulnerability identified by Endor Labs resides in this component, allowing code running inside the sandbox to break out and corrupt memory in the host application. <\/p>\n<p>\u00abA type confusion in ExternalCopy&#8217;s handling of the transferList option lets code running inside the sandbox corrupt memory in the host process,\u00bb Endor Labs researcher Cristian-Alexandru Staicu, who is credited with discovering and reporting the flaw, <a href=\"https:\/\/www.endorlabs.com\/learn\/ghsa-864f-rcv7-6rh4-critical-type-confusion-vulnerability-in-isolated-vm\" target=\"_blank\">said<\/a> in a technical write-up shared with The Hacker News.<\/p>\n<div class=\"separator\" style=\"clear: both;\"><a href=\"https:\/\/blogger.googleusercontent.com\/img\/b\/R29vZ2xl\/AVvXsEhMfsvQmmbFd-X8PGgHMFuzrHiMDs1T06796eoZw1yD6X_qvRRGkmeO6iEQC_NzOtAMZETGOrUvj0ahEVoEOF-brJwOQ7ViVeqevpjNWgDNAQ78uQyCIRtvtrHvhEdyjxOF0Ol4ps4q8WYMmi3-jYrjXLRHY-7ZhrNqIq59Z2QPS-zPVZeWnuCpXHct303P\/s1700-e365\/ExternalCopy.png\" style=\"clear: left; display: block; float: left;  text-align: center;\"><img decoding=\"async\" src=\"https:\/\/blogger.googleusercontent.com\/img\/b\/R29vZ2xl\/AVvXsEhMfsvQmmbFd-X8PGgHMFuzrHiMDs1T06796eoZw1yD6X_qvRRGkmeO6iEQC_NzOtAMZETGOrUvj0ahEVoEOF-brJwOQ7ViVeqevpjNWgDNAQ78uQyCIRtvtrHvhEdyjxOF0Ol4ps4q8WYMmi3-jYrjXLRHY-7ZhrNqIq59Z2QPS-zPVZeWnuCpXHct303P\/s1700-e365\/ExternalCopy.png\" alt=\"\" border=\"0\" data-original-height=\"776\" data-original-width=\"780\"\/><\/a><\/div>\n<p>\u00abStarting from nothing but a single ivm.Reference, the standard way hosts hand a sandbox any capability at all, we escalated the bug from a controlled-address crash all the way to hijacking the host&#8217;s control flow, demonstrating a full guest-to-host sandbox escape.\u00bb<\/p>\n<p>Successful exploitation of the flaw allows memory corruption in the host process, causing the host process to crash with a segmentation fault (<a href=\"https:\/\/blog.cloudflare.com\/why-is-there-a-v-in-sigsegv-segmentation-fault\/\" target=\"_blank\">SIGSEGV<\/a>). It can also lead to a guest-to-host sandbox escape and an erosion of the trust boundary that undermines the very purpose of isolated-vm.<\/p>\n<p>\u00abMinimum demonstrated impact is a reliable, controlled-address crash (denial-of-service) triggerable by any guest that has been given an ivm.Reference (the standard way to grant a sandbox any capability),\u00bb project maintainer Marcel Laverdet said in an advisory.<\/p>\n<div class=\"dog_two clear\">\n<div class=\"cf\"><a href=\"https:\/\/thehackernews.uk\/corelight-d\" rel=\"nofollow noopener sponsored\" target=\"_blank\"><img loading=\"lazy\" decoding=\"async\" class=\"lazyload\" alt=\"Cybersecurity\" src=\"https:\/\/blogger.googleusercontent.com\/img\/b\/R29vZ2xl\/AVvXsEjuvAqH13TTYyJD3aI-pJcYl54BoxQWMHc2aFwW2HbYUa5IKCjvHlzpzkFwXLTuV8aytky8kqLBgkoOtC8VQM5CGR0N5BXBl8RSXl-PYx_vIPbiLywiqXIvTPmm18cdEm_C0heVB-3U8zfG7K27RCAurtJ7OvxEyfQ0sVV_RRx1N4ZMWkqKgEBmkcDgjD6I\/s728-e100\/code-d.png\" width=\"729\" height=\"91\"\/><\/a><\/div>\n<\/div>\n<p>\u00abMaximum demonstrated impact is control-flow hijack of the host process, i.e., potential remote code execution in the host.\u00bb<\/p>\n<p>Users who have isolated-vm installed in their developer environments are advised to update to the latest version for optimal protection. Additional details of the full exploit have been withheld so as to prevent bad actors from launching their own attacks. <\/p>\n<p>\u00abThe most important takeaway is that what was not broken was the isolation primitive itself,\u00bb Staicu said. \u00abV8&#8217;s Isolate boundary held. What failed was the C++ glue code that marshals values across that boundary. A perfectly sound building block was undermined by the binding layer wrapped around it.\u00bb<\/p>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>\ue804Ravie Lakshmanan\ue802Aug 20, 2026Vulnerability \/ Application Security Cybersecurity researchers have disclosed a critical security flaw in isolated-vm, a popular open-source sandbox with more than 2,900 stars and 190 forks on&hellip;<\/p>\n","protected":false},"author":1,"featured_media":2459,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[1349,70,1109,3097,3099,332,1533,316,3098],"class_list":["post-2458","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-uncategorized","tag-escape","tag-flaw","tag-host","tag-isolatedvm","tag-javascript","tag-lets","tag-potential","tag-rce","tag-sandboxed"],"_links":{"self":[{"href":"https:\/\/thedigitalfortress.us\/index.php?rest_route=\/wp\/v2\/posts\/2458","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/thedigitalfortress.us\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/thedigitalfortress.us\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/thedigitalfortress.us\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/thedigitalfortress.us\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=2458"}],"version-history":[{"count":0,"href":"https:\/\/thedigitalfortress.us\/index.php?rest_route=\/wp\/v2\/posts\/2458\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/thedigitalfortress.us\/index.php?rest_route=\/wp\/v2\/media\/2459"}],"wp:attachment":[{"href":"https:\/\/thedigitalfortress.us\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=2458"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/thedigitalfortress.us\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=2458"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/thedigitalfortress.us\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=2458"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}