CVE-2026-92938 in vm2
Zusammenfassung
von VulDB • 18.09.2026
In den Versionen von vm2 ab 3.11.3 bis einschließlich 3.11.6 wird das Node.js-Hostmodul `node:sqlite` für Code, der unter NodeVM ausgeführt wird, freigegeben, wenn dieses integrierte Modul explizit oder über `builtin: ['*']` erlaubt ist. Das Modul wird mit `vm.readonly()` umschlossen, was die Zuweisung von Eigenschaften verhindert, aber host-authority-Aufrufbare weiterhin erreichbar lässt; zusätzlich behandelt der Resolver jede Anfrage, die mit „node:" beginnt, als Core-Module-Anfrage, und das Laufzeitumgebung entfernt nur ein einzelnes „node:"-Präfix. Daher wird eine Sandboxanfrage für `node:node:sqlite` auf den konfigurierten Eintrag von `node:sqlite` aufgelöst. Sandboxed Code kann daher eine in-memory DatabaseSync mit aktivierter Erweiterungs-Ladung erstellen und `DatabaseSync.loadExtension()` für eine native Bibliothek aufrufen, die im nicht vertrauenswürdigen Plugin-Paket enthalten ist (Pfad abgeleitet aus `__dirname`). SQLite lädt die Bibliothek in den Node.js-Hostprozess und ruft dessen nativen Einstiegspunkt auf, wodurch das sandboxed Plugin beliebige Native Code Execution außerhalb der Sandbox mit den Berechtigungen des Hostprozesses erhält. Das Problem wurde in vm2 3.11.7 behoben.
Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.