CVE-2026-92951: vm2 before 3.11.7 Module Allowlist Bypass via Custom Resolver

Published Sep 17, 2026
·
Updated

vm2 before 3.11.7 contains an incorrect authorization vulnerability in the external package allowlist check that uses non-exact substring matching instead of full package-name boundary validation. Attackers can bypass the allowlist by requiring a colliding package name that contains an allowlisted package substring, causing vm2 to load and execute unauthorized host packages in the host context.

Affected Software

1 affected component
npm/vm2<3.11.7

Remediation

Recommended actions to resolve this vulnerability, in priority order.

  1. Upgrade

    Upgrade vm2 to a version that resolves this vulnerability.

    Fixed in 3.11.7
  2. Compensating control

    Ensure any dependency/loader package allowlist enforcement uses exact full package-name boundary validation (no substring matching) to prevent colliding package names from bypassing the allowlist.

Event History

Sep 17, 2026
CVE Published
via MITRE·01:46 PM
Data Sourced
via MITRE·01:46 PM
DescriptionSeverityWeakness

Frequently Asked Questions

1

Which deployments are exposed?

Deployments using npm/vm2 before 3.11.7 are exposed when they rely on the external package allowlist check and a custom resolver. The issue concerns loading external packages through that allowlist mechanism.

2

What does an attacker need to exploit this?

An attacker needs the ability to cause code in the vm2 environment to require a colliding package name containing the substring of an allowlisted package. No user interaction is required, and the supplied vector indicates low attack complexity with low privileges required.

3

What is the impact of a successful bypass?

The bypass can cause vm2 to load and execute an unauthorized host package in the host context. The provided severity vector indicates high impact to confidentiality, integrity, and availability, with scope changed.

4

How can I determine whether my configuration is affected?

Check whether your application uses vm2 before 3.11.7, configures an external package allowlist, and uses a custom resolver. Review whether package names that merely contain an allowlisted package name as a substring could be resolved.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203