Логотип exploitDog
Консоль
Логотип exploitDog

exploitDog

redhat логотип

CVE-2026-43998

Опубликовано: 13 мая 2026
Источник: redhat
CVSS3: 8.5
EPSS Низкий

Описание

vm2 is an open source vm/sandbox for Node.js. In 3.10.5, NodeVM's require.root path restriction can be bypassed using filesystem symlinks, allowing sandboxed code to load modules from outside the allowed root directory in host context. Because path validation uses path.resolve() (which does not dereference symlinks) but module loading uses Node's native require() (which does), an attacker can load arbitrary host-realm modules and achieve remote code execution. This vulnerability is fixed in 3.11.0.

A flaw was found in vm2 3.10.5. NodeVM require.root path checks use path.resolve() without dereferencing symlinks, while Node require() follows symlinks, allowing sandboxed code to load host modules outside the allowed root and achieve remote code execution. Fixed in 3.11.0.

Отчет

vm2 NodeVM is vulnerable to require.root bypass via filesystem symlinks, enabling sandboxed code to load arbitrary host-realm modules. An attacker with low privileges who can run code in a NodeVM with require restrictions and symlink-accessible paths may achieve remote code execution. Fixed in vm2 3.11.0.

Затронутые пакеты

ПлатформаПакетСостояниеРекомендацияРелиз
Red Hat Developer Hubrhdh/rhdh-hub-rhel9Not affected
Self-service automation portal 2ansible-automation-platform/automation-portalAffected

Показывать по

Дополнительная информация

Статус:

Important
Дефект:
CWE-59
https://bugzilla.redhat.com/show_bug.cgi?id=2477206vm2: vm2: Remote code execution due to path restriction bypass via symlinks

EPSS

Процентиль: 51%
0.00722
Низкий

8.5 High

CVSS3

Связанные уязвимости

CVSS3: 8.5
nvd
3 месяца назад

vm2 is an open source vm/sandbox for Node.js. In 3.10.5, NodeVM's require.root path restriction can be bypassed using filesystem symlinks, allowing sandboxed code to load modules from outside the allowed root directory in host context. Because path validation uses path.resolve() (which does not dereference symlinks) but module loading uses Node's native require() (which does), an attacker can load arbitrary host-realm modules and achieve remote code execution. This vulnerability is fixed in 3.11.0.

CVSS3: 8.5
github
3 месяца назад

vm2 has a NodeVM require.root bypass via symlink traversal that allows sandbox escape

CVSS3: 8.5
fstec
3 месяца назад

Уязвимость функции path.resolve() библиотеки vm2 пакетного менеджера NPM, позволяющая нарушителю обойти защитный механизм песочницы и выполнить произвольный код

EPSS

Процентиль: 51%
0.00722
Низкий

8.5 High

CVSS3