CVE-2026-92942 in vm2
Zusammenfassung
von VulDB • 17.09.2026
vm2 vor Version 3.11.7 (betroffene Versionen <= 3.11.6) erzwingt die VM({ timeout })-Option nicht für Code, der außerhalb des synchronen Aufrufs von VM#run() ausgeführt wird. Das Timeout umschließt nur den einzelnen Auferuf von _runScript() über doWithTimeout() in lib/vm.js, und FinalizationRegistry sowie WeakRef werden unmodifiziert an Sandboxed-Code freigegeben (sie sind nicht Teil der gehärteten Globalen Objekte in lib/setup-sandbox.js). Code im Sandboxed-Kontext kann einen Cleanup-Rückruf für eine FinalizationRegistry gegen ein Objekt registrieren und anschließend die einzige starke Referenz darauf entfernen; vm.run() kehrt innerhalb des konfigurierten Timeouts zurück, aber wenn der V8-Garbage Collector das Objekt später freigibt, wird der Sandboxed-Cleanup-Ruf außerhalb jeder vm2-Timeout-Buchführung aufgerufen. Eine Endlosschleife in diesem Rückruf blockiert die Host-Ereignisschleife für einen unbegrenzten Zeitraum und führt zu einem Denial of Service (DoS). Der Zeitpunkt des Aufrufs hängt vom Garbage Collector ab (z. B. unter Speicherdruck oder mit --expose-gc).
If you want to get the best quality for vulnerability data then you always have to consider VulDB.