CVE-2026-92945: vm2 before 3.11.7 Module Allowlist Bypass via Prefix Matching

Published Sep 17, 2026
·
Updated

vm2 before 3.11.7 contains a module allowlist bypass vulnerability in isPathAllowedForModule that uses raw string prefix matching instead of boundary-anchored comparison. Attackers can reach non-allowlisted packages sharing a prefix with allowlisted modules by performing relative requires from allowlisted packages when transitive loading is disabled.

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. Configuration

    Ensure vm2's isPathAllowedForModule uses boundary-anchored comparison (not raw string prefix matching) so prefixes cannot bypass the module allowlist.

    vm2 module allowlist path matching = boundary-anchored comparison instead of raw string prefix matching

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 to this issue?

Deployments using vm2 versions before 3.11.7 are exposed when they use a module allowlist with transitive loading disabled. Exploitation also depends on a non-allowlisted package sharing a prefix with an allowlisted module.

2

What does an attacker need to exploit the bypass?

The attacker needs to perform relative requires from an allowlisted package. The bypass relies on reaching a non-allowlisted package whose name shares a raw string prefix with an allowlisted module.

3

How can I determine whether my configuration is at risk?

Check whether vm2 is earlier than 3.11.7, whether transitive loading is disabled, and whether your allowlisted module names have non-allowlisted packages sharing their prefixes. Configurations meeting all of these conditions are affected.

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