Electron may insecurely load Node modules


Electron fails to restrict the path for loading Node modules, which may lead to execution of arbitrary JavaScript.

Electron is a software framework for developing cross-platformm desktop applications with web technologies, such as HTML, CSS, JavaScript with Chromium and Node.js. Electron is used in applications such as Atom editor, Microsoft Visual Studio Code, etc..
Electron contains a flaw where the search path for loading Node modules is not restricted properly. This exists due to a flaw in the processing of the 'require' function. When this function is processed, all parent folders for the directory where the module exists is added to the search paths. If an attacker is able to place a malicious Node module in a resulting search path on the victim's system, this Node module will be loaded.

Yosuke HASEGAWA of Secure Sky Technology Inc. reported this vulnerability to IPA.
JPCERT/CC coordinated with the developer under Information Security Early Warning Partnership.
CVSS Severity (What is CVSS?)

CVSS V3 Severity:
Base Metrics 5.3 (Medium) [IPA Score]
  • Attack Vector: Local
  • Attack Complexity: Low
  • Privileges Required: None
  • User Interaction: Required
  • Scope: Unchanged
  • Confidentiality Impact: Low
  • Integrity Impact: Low
  • Availability Impact: Low
CVSS V2 Severity:
Base Metrics 6.8 (Medium) [IPA Score]
  • Access Vector: Network
  • Access Complexity: Medium
  • Authentication: None
  • Confidentiality Impact: Partial
  • Integrity Impact: Partial
  • Availability Impact: Partial
Affected Products

  • Electron versions prior to 0.33.5


Loading a malicious Node module placed by an attacker may result in arbitrary programs being executed with the privileges that the application using Electron.

[Update Electron and re-build the application]
Developers of applications that use Electron should update Electron and re-build the application.
Vendor Information

Atom Electron
CWE (What is CWE?)

  1. No Mapping(CWE-Other) [IPA Evaluation]
CVE (What is CVE?)

  1. CVE-2016-1202

  1. JVN : JVN#00324715
  2. National Vulnerability Database (NVD) : CVE-2016-1202
Revision History

  • [2016/04/22]
      Web page was published
      Vendor Information : Content was added
      References : Content was added