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 の告知ページ |
ベンダ | リンク |
Electron | Prevent Node from adding paths outside the app to search paths |
攻撃元区分(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) |
攻撃元区分(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 |