WR 株式会社WR 松戸のホームページ制作・社内システム・IT相談

株式会社WR

千葉県松戸市
松戸・柏・市川・流山・船橋 対応

ホーム›脆弱性情報›Node.js›CVE-2026-92938

緊急 CVSS 9.4 Node.js CVE-2026-92938 公表 2026年9月17日

Node.jsのvm2にsqlite経由の突破脆弱性

Node.js — CVE-2026-92938

自分のサイトが該当するか無料診断 → 原文を見る(NVD(米国 脆弱性データベース))↗

どんな問題か

Node.jsのvm2で、node:sqlite モジュールがサンドボックス内から使えてしまう問題があります。許可された場合、ネイティブライブラリを読み込まれ、外側のコードが実行されるおそれがあります。

放置するとどうなるか

不正なプラグインなどからサーバー内で任意のネイティブコードを動かされる可能性があります。結果として、システム全体の乗っ取りや情報流出につながります。

今すぐやること

vm2を3.11.7へ更新してください。builtinに node:sqlite を許可している設定がないか確認し、不要なら無効化してください。

自分のサイトが該当するかの確認手順

  1. お使いのサーバー・プログラムに Node.js が使われているか、制作会社・保守会社・サーバー会社に確認します(管理画面やサーバーのバージョン表示でも分かります)。
  2. バージョンが「3.11.3 through 3.11.6」に当てはまるか確認します。
  3. 当てはまる場合は、修正版へのアップデートを依頼します。レンタルサーバーの場合はサーバー会社側で対応済みのこともあるので、お知らせを確認してください。
原文(英語)を表示
vm2 versions 3.11.3 through 3.11.6 expose Node.js's host node:sqlite module to code running in NodeVM when that builtin is permitted, either explicitly or through builtin: ['*']. The module is wrapped with vm.readonly(), which prevents property assignment but leaves host-authority callables reachable; in addition, the resolver treats any request starting with 'node:' as a core-module request and the runtime strips only one 'node:' prefix, so a sandbox request for 'node:node:sqlite' resolves to the configured node:sqlite entry. Sandboxed code can therefore create an in-memory DatabaseSync with extension loading enabled and call DatabaseSync.loadExtension() on a native library bundled in the untrusted plugin package (path derived from __dirname). SQLite loads the library into the Node.js host process and invokes its native entry point, giving the sandboxed plugin arbitrary native code execution outside the sandbox with the host process's privileges. The issue is fixed in vm2 3.11.7.

※ 解説は NVD(米国 脆弱性データベース) の公表内容をもとにAIが生成しています。対象バージョン・修正版などの正確な情報は、必ず原文をご確認ください。

無料で相談する →