{"answers":{"affected":"","exploited":"It is not confirmed as exploited in the wild, but public exploit code for CVE-2026-93604 exists.","fix":"No fix has been published for CVE-2026-93604 yet. Limit exposure of the affected software until one is available.","what":"CVE-2026-93604 is a medium-severity vulnerability in patriksimek vm2, published on 18 Sep 2026. An attacker can exploit it over the internet without logging in, with no action from the victim."},"fix_prompt":"Check this codebase for CVE-2026-93604 and fix it if it is affected.\n\nWhat it is: CVE-2026-93604 is a medium-severity vulnerability in patriksimek vm2, published on 18 Sep 2026. An attacker can exploit it over the internet without logging in, with no action from the victim.\nExploitation: It is not confirmed as exploited in the wild, but public exploit code for CVE-2026-93604 exists.\n\nAffected product: patriksimek vm2. No package-level version data is available, so check the vendor advisory linked from the reference page.\n\nTask:\n1. Search the dependency manifests and lockfiles (for example package.json, package-lock.json, requirements.txt, poetry.lock, uv.lock, pom.xml, build.gradle, go.mod, Cargo.lock, Gemfile.lock) and any Dockerfiles for the affected packages, including transitive dependencies.\n2. If an affected version is in use, upgrade it to the fixed version for its release line with the project's package manager, so the lockfile is regenerated. Prefer the smallest upgrade that fixes it.\n3. If there is no fix, or the upgrade would break the build, do not guess: explain the risk and the safest workaround instead.\n4. Run the tests and summarise what changed and why.\n5. If nothing in the project is affected, say so and change nothing.\n\nReference: https://insights.sbomify.com/CVE-2026-93604/ (Markdown: https://insights.sbomify.com/CVE-2026-93604/index.md)","id":"CVE-2026-93604","markdown":"https://insights.sbomify.com/CVE-2026-93604/index.md","name":"CVE-2026-93604","record":{"aliases":["GHSA-qrp3-78q3-75rc","GHSA-x3v6-43hc-82mc"],"analysis":{"component_type":"library","fix_type":"upgrade","impacts":["security_bypass"],"network_reachable":"yes","non_default_config":true,"product_category":"Node.js sandbox library","requires_auth":"none","summary":"Attackers can bypass sandbox isolation in vm2 by calling crypto.setFips if the crypto builtin is explicitly allowlisted, altering host process state.","user_interaction":"not_required","vuln_class":"security_feature_bypass"},"analysis_generated_by":"qwen3.8-flash-next","assigner":"VulnCheck","cpe":[],"cvss":{"score":6.9,"severity":"medium","source":"cna","vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:L/VA:L/SC:N/SI:L/SA:L","version":"4.0"},"cwes":[{"id":"CWE-284","name":"Improper Access Control"}],"description":"vm2 through 3.12.0 exposes Node.js's crypto.setFips() function to untrusted guest code when an embedder explicitly allowlists the crypto builtin for a NodeVM (require.builtin: ['crypto']). The builtin sanitizer (sanitizeCryptoModule in lib/builtin.js) replaces crypto.setEngine but leaves crypto.setFips callable, and the readonly wrapper used to expose the host module does not localize side effects of forwarded host functions. Guest code can therefore call crypto.setFips() to change the FIPS mode of the entire host process; the modified mode is subsequently observed by trusted host code (crypto.getFips() changed from 0 to 1 in the reported test), crossing the NodeVM isolation boundary. Fixed in vm2 3.12.1.","ecosystems":[],"exploits":{"exploitdb":0,"first_seen":null,"github_poc":0,"max_poc_stars":null,"metasploit":0,"nuclei":0,"refs":[],"tier":"weaponised"},"has_fix":false,"headline":"vm2 3.11.8 Sandbox Escape via crypto.setFips","id":"CVE-2026-93604","indexable":true,"kev":null,"kind":"cve","links":{"ecosystem":null,"product":null,"products":[],"type":"security_feature_bypass","year":"2026"},"n_packages":0,"n_references":2,"next":{"headline":"vm2 NodeVM before 3.12.1 Remote Code Execution via child_process","id":"CVE-2026-93605"},"packages":[],"prev":{"headline":"vm2 before 3.12.1 Sandbox Escape RCE via Non-Strict Host Function","id":"CVE-2026-93603"},"products":["vm2"],"published":"2026-09-18","related":[],"sources":[{"class":"attribution","licence":"CVE Terms of Use (MITRE)","name":"CVE List","prefix":"CVE"},{"class":"attribution","licence":"CWE Terms of Use","name":"CWE (MITRE)"},{"class":"attribution","licence":"FIRST CVSS licence","name":"CVSS (FIRST)"}],"ssvc":{"automatable":"yes","exploitation":"poc","technical_impact":"partial"},"state":"PUBLISHED","updated":"2026-09-18","vendors":["patriksimek"]},"summary":"Attackers can bypass sandbox isolation in vm2 by calling crypto.setFips if the crypto builtin is explicitly allowlisted, altering host process state.","url":"https://insights.sbomify.com/CVE-2026-93604/"}