公開日:2016/04/22 最終更新日:2016/04/22

JVN#00324715
Electron における Node モジュール読み込みに関する問題

概要

Electron には、Node モジュール読み込みのパスを適切に制限していない問題が存在します。その結果、任意の JavaScript を実行される可能性があります。

影響を受けるシステム

  • Electron 0.33.5 より前のバージョン

詳細情報

Electron は、HTML、CSS、JavaScript with Chromium や Node.js のようなウェブテクノロジを使ったクロスプラットフォームのデスクトップアプリケーションを開発するためのソフトウエアフレームワークです。Electron は、Atom エディタ、Microsoft Visual Studio Code などのアプリケーションで利用されています。Electron には、Node モジュールを読み込む際の検索パスに問題があります。この問題は、require 関数の処理を行う際、モジュールが存在するディレクトリの親ディレクトリをすべて検索パスに加えてしまうことに起因しています。攻撃者によって、これらの検索パスに細工された Node モジュールを置かれていた場合、この Node モジュールが読み込まれます。

想定される影響

攻撃者によって細工された Node モジュールを読み込むことで、Electron で開発されたアプリケーションが持つ権限で任意の JavaScript コードを実行される可能性があります。

対策方法

Electron をアップデートし、アプリケーションをリビルドする
Electron を使用したアプリケーションを開発している場合、Electron をアップデートしてからアプリケーションをリビルドしてください。

ベンダ情報

ベンダ ステータス ステータス
最終更新日
ベンダの告知ページ
Atom 該当製品あり 2016/04/22 Atom の告知ページ

参考情報

JPCERT/CCからの補足情報

JPCERT/CCによる脆弱性分析結果

CVSS v3 CVSS:3.0/AV:L/AC:L/PR:N/UI:R/S:U/C:L/I:L/A:L
基本値: 5.3
攻撃元区分(AV) 物理 (P) ローカル (L) 隣接 (A) ネットワーク (N)
攻撃条件の複雑さ(AC) 高 (H) 低 (L)
必要な特権レベル(PR) 高 (H) 低 (L) 不要 (N)
ユーザ関与レベル(UI) 要 (R) 不要 (N)
スコープ(S) 変更なし (U) 変更あり (C)
機密性への影響(C) なし (N) 低 (L) 高 (H)
完全性への影響(I) なし (N) 低 (L) 高 (H)
可用性への影響(A) なし (N) 低 (L) 高 (H)
CVSS v2 AV:N/AC:M/Au:N/C:P/I:P/A:P
基本値: 6.8
攻撃元区分(AV) ローカル (L) 隣接 (A) ネットワーク (N)
攻撃条件の複雑さ(AC) 高 (H) 中 (M) 低 (L)
攻撃前の認証要否(Au) 複数 (M) 単一 (S) 不要 (N)
機密性への影響(C) なし (N) 部分的 (P) 全面的 (C)
完全性への影響(I) なし (N) 部分的 (P) 全面的 (C)
可用性への影響(A) なし (N) 部分的 (P) 全面的 (C)

謝辞

この脆弱性情報は、情報セキュリティ早期警戒パートナーシップに基づき下記の方が IPA に報告し、JPCERT/CC が開発者との調整を行いました。
報告者: (株)セキュアスカイ・テクノロジー 長谷川陽介 氏

関連文書

JPCERT 緊急報告
JPCERT REPORT
CERT Advisory
CPNI Advisory
TRnotes
CVE CVE-2016-1202
JVN iPedia JVNDB-2016-000054