ID CVE-2022-32223
Summary Node.js is vulnerable to Hijack Execution Flow: DLL Hijacking under certain conditions on Windows platforms.This vulnerability can be exploited if the victim has the following dependencies on a Windows machine:* OpenSSL has been installed and “C:\Program Files\Common Files\SSL\openssl.cnf” exists.Whenever the above conditions are present, `node.exe` will search for `providers.dll` in the current user directory.After that, `node.exe` will try to search for `providers.dll` by the DLL Search Order in Windows.It is possible for an attacker to place the malicious file `providers.dll` under a variety of paths and exploit this vulnerability.
References
Vulnerable Configurations
  • cpe:2.3:a:nodejs:node.js:16.13.0:*:*:*:lts:*:*:*
    cpe:2.3:a:nodejs:node.js:16.13.0:*:*:*:lts:*:*:*
  • cpe:2.3:a:nodejs:node.js:16.13.1:*:*:*:lts:*:*:*
    cpe:2.3:a:nodejs:node.js:16.13.1:*:*:*:lts:*:*:*
  • cpe:2.3:a:nodejs:node.js:16.13.2:*:*:*:lts:*:*:*
    cpe:2.3:a:nodejs:node.js:16.13.2:*:*:*:lts:*:*:*
  • cpe:2.3:a:nodejs:node.js:16.14.0:*:*:*:lts:*:*:*
    cpe:2.3:a:nodejs:node.js:16.14.0:*:*:*:lts:*:*:*
  • cpe:2.3:a:nodejs:node.js:16.14.1:*:*:*:lts:*:*:*
    cpe:2.3:a:nodejs:node.js:16.14.1:*:*:*:lts:*:*:*
  • cpe:2.3:a:nodejs:node.js:16.14.2:*:*:*:lts:*:*:*
    cpe:2.3:a:nodejs:node.js:16.14.2:*:*:*:lts:*:*:*
  • cpe:2.3:a:nodejs:node.js:16.15.0:*:*:*:lts:*:*:*
    cpe:2.3:a:nodejs:node.js:16.15.0:*:*:*:lts:*:*:*
  • cpe:2.3:a:nodejs:node.js:16.15.1:*:*:*:lts:*:*:*
    cpe:2.3:a:nodejs:node.js:16.15.1:*:*:*:lts:*:*:*
  • cpe:2.3:a:nodejs:node.js:14.1.0:*:*:*:-:*:*:*
    cpe:2.3:a:nodejs:node.js:14.1.0:*:*:*:-:*:*:*
  • cpe:2.3:a:nodejs:node.js:14.2.0:*:*:*:-:*:*:*
    cpe:2.3:a:nodejs:node.js:14.2.0:*:*:*:-:*:*:*
  • cpe:2.3:a:nodejs:node.js:14.3.0:*:*:*:-:*:*:*
    cpe:2.3:a:nodejs:node.js:14.3.0:*:*:*:-:*:*:*
  • cpe:2.3:a:nodejs:node.js:14.4.0:*:*:*:-:*:*:*
    cpe:2.3:a:nodejs:node.js:14.4.0:*:*:*:-:*:*:*
  • cpe:2.3:a:nodejs:node.js:14.5.0:*:*:*:-:*:*:*
    cpe:2.3:a:nodejs:node.js:14.5.0:*:*:*:-:*:*:*
  • cpe:2.3:a:nodejs:node.js:14.6.0:*:*:*:-:*:*:*
    cpe:2.3:a:nodejs:node.js:14.6.0:*:*:*:-:*:*:*
  • cpe:2.3:a:nodejs:node.js:14.7.0:*:*:*:-:*:*:*
    cpe:2.3:a:nodejs:node.js:14.7.0:*:*:*:-:*:*:*
  • cpe:2.3:a:nodejs:node.js:14.8.0:*:*:*:-:*:*:*
    cpe:2.3:a:nodejs:node.js:14.8.0:*:*:*:-:*:*:*
  • cpe:2.3:a:nodejs:node.js:14.9.0:*:*:*:-:*:*:*
    cpe:2.3:a:nodejs:node.js:14.9.0:*:*:*:-:*:*:*
  • cpe:2.3:a:nodejs:node.js:14.10.0:*:*:*:-:*:*:*
    cpe:2.3:a:nodejs:node.js:14.10.0:*:*:*:-:*:*:*
  • cpe:2.3:a:nodejs:node.js:14.10.1:*:*:*:-:*:*:*
    cpe:2.3:a:nodejs:node.js:14.10.1:*:*:*:-:*:*:*
  • cpe:2.3:a:nodejs:node.js:14.11.0:*:*:*:-:*:*:*
    cpe:2.3:a:nodejs:node.js:14.11.0:*:*:*:-:*:*:*
  • cpe:2.3:a:nodejs:node.js:14.12.0:*:*:*:-:*:*:*
    cpe:2.3:a:nodejs:node.js:14.12.0:*:*:*:-:*:*:*
  • cpe:2.3:a:nodejs:node.js:14.13.0:*:*:*:-:*:*:*
    cpe:2.3:a:nodejs:node.js:14.13.0:*:*:*:-:*:*:*
  • cpe:2.3:a:nodejs:node.js:14.13.1:*:*:*:-:*:*:*
    cpe:2.3:a:nodejs:node.js:14.13.1:*:*:*:-:*:*:*
  • cpe:2.3:a:nodejs:node.js:14.14.0:*:*:*:-:*:*:*
    cpe:2.3:a:nodejs:node.js:14.14.0:*:*:*:-:*:*:*
  • cpe:2.3:a:nodejs:node.js:16.1.0:*:*:*:-:*:*:*
    cpe:2.3:a:nodejs:node.js:16.1.0:*:*:*:-:*:*:*
  • cpe:2.3:a:nodejs:node.js:16.2.0:*:*:*:-:*:*:*
    cpe:2.3:a:nodejs:node.js:16.2.0:*:*:*:-:*:*:*
  • cpe:2.3:a:nodejs:node.js:16.3.0:*:*:*:-:*:*:*
    cpe:2.3:a:nodejs:node.js:16.3.0:*:*:*:-:*:*:*
  • cpe:2.3:a:nodejs:node.js:16.4.0:*:*:*:-:*:*:*
    cpe:2.3:a:nodejs:node.js:16.4.0:*:*:*:-:*:*:*
  • cpe:2.3:a:nodejs:node.js:16.4.1:*:*:*:-:*:*:*
    cpe:2.3:a:nodejs:node.js:16.4.1:*:*:*:-:*:*:*
  • cpe:2.3:a:nodejs:node.js:16.4.2:*:*:*:-:*:*:*
    cpe:2.3:a:nodejs:node.js:16.4.2:*:*:*:-:*:*:*
  • cpe:2.3:a:nodejs:node.js:16.5.0:*:*:*:-:*:*:*
    cpe:2.3:a:nodejs:node.js:16.5.0:*:*:*:-:*:*:*
  • cpe:2.3:a:nodejs:node.js:16.6.0:*:*:*:-:*:*:*
    cpe:2.3:a:nodejs:node.js:16.6.0:*:*:*:-:*:*:*
  • cpe:2.3:a:nodejs:node.js:16.6.1:*:*:*:-:*:*:*
    cpe:2.3:a:nodejs:node.js:16.6.1:*:*:*:-:*:*:*
  • cpe:2.3:a:nodejs:node.js:16.6.2:*:*:*:-:*:*:*
    cpe:2.3:a:nodejs:node.js:16.6.2:*:*:*:-:*:*:*
  • cpe:2.3:a:nodejs:node.js:16.7.0:*:*:*:-:*:*:*
    cpe:2.3:a:nodejs:node.js:16.7.0:*:*:*:-:*:*:*
  • cpe:2.3:a:nodejs:node.js:16.8.0:*:*:*:-:*:*:*
    cpe:2.3:a:nodejs:node.js:16.8.0:*:*:*:-:*:*:*
  • cpe:2.3:a:nodejs:node.js:16.9.0:*:*:*:-:*:*:*
    cpe:2.3:a:nodejs:node.js:16.9.0:*:*:*:-:*:*:*
  • cpe:2.3:a:nodejs:node.js:16.9.1:*:*:*:-:*:*:*
    cpe:2.3:a:nodejs:node.js:16.9.1:*:*:*:-:*:*:*
  • cpe:2.3:a:nodejs:node.js:16.10.0:*:*:*:-:*:*:*
    cpe:2.3:a:nodejs:node.js:16.10.0:*:*:*:-:*:*:*
  • cpe:2.3:a:nodejs:node.js:16.11.0:*:*:*:-:*:*:*
    cpe:2.3:a:nodejs:node.js:16.11.0:*:*:*:-:*:*:*
  • cpe:2.3:a:nodejs:node.js:16.11.1:*:*:*:-:*:*:*
    cpe:2.3:a:nodejs:node.js:16.11.1:*:*:*:-:*:*:*
  • cpe:2.3:a:nodejs:node.js:16.12.0:*:*:*:-:*:*:*
    cpe:2.3:a:nodejs:node.js:16.12.0:*:*:*:-:*:*:*
  • cpe:2.3:a:nodejs:node.js:14.14.0:*:*:*:lts:*:*:*
    cpe:2.3:a:nodejs:node.js:14.14.0:*:*:*:lts:*:*:*
  • cpe:2.3:a:nodejs:node.js:14.15.0:*:*:*:lts:*:*:*
    cpe:2.3:a:nodejs:node.js:14.15.0:*:*:*:lts:*:*:*
  • cpe:2.3:a:nodejs:node.js:14.15.1:*:*:*:lts:*:*:*
    cpe:2.3:a:nodejs:node.js:14.15.1:*:*:*:lts:*:*:*
  • cpe:2.3:a:nodejs:node.js:14.15.2:*:*:*:lts:*:*:*
    cpe:2.3:a:nodejs:node.js:14.15.2:*:*:*:lts:*:*:*
  • cpe:2.3:a:nodejs:node.js:14.15.3:*:*:*:lts:*:*:*
    cpe:2.3:a:nodejs:node.js:14.15.3:*:*:*:lts:*:*:*
  • cpe:2.3:a:nodejs:node.js:14.15.4:*:*:*:lts:*:*:*
    cpe:2.3:a:nodejs:node.js:14.15.4:*:*:*:lts:*:*:*
  • cpe:2.3:a:nodejs:node.js:14.15.5:*:*:*:lts:*:*:*
    cpe:2.3:a:nodejs:node.js:14.15.5:*:*:*:lts:*:*:*
  • cpe:2.3:a:nodejs:node.js:14.16.0:*:*:*:lts:*:*:*
    cpe:2.3:a:nodejs:node.js:14.16.0:*:*:*:lts:*:*:*
  • cpe:2.3:a:nodejs:node.js:14.16.1:*:*:*:lts:*:*:*
    cpe:2.3:a:nodejs:node.js:14.16.1:*:*:*:lts:*:*:*
  • cpe:2.3:a:nodejs:node.js:14.17.0:*:*:*:lts:*:*:*
    cpe:2.3:a:nodejs:node.js:14.17.0:*:*:*:lts:*:*:*
  • cpe:2.3:a:nodejs:node.js:14.17.1:*:*:*:lts:*:*:*
    cpe:2.3:a:nodejs:node.js:14.17.1:*:*:*:lts:*:*:*
  • cpe:2.3:a:nodejs:node.js:14.17.2:*:*:*:lts:*:*:*
    cpe:2.3:a:nodejs:node.js:14.17.2:*:*:*:lts:*:*:*
  • cpe:2.3:a:nodejs:node.js:14.17.3:*:*:*:lts:*:*:*
    cpe:2.3:a:nodejs:node.js:14.17.3:*:*:*:lts:*:*:*
  • cpe:2.3:a:nodejs:node.js:14.17.4:*:*:*:lts:*:*:*
    cpe:2.3:a:nodejs:node.js:14.17.4:*:*:*:lts:*:*:*
  • cpe:2.3:a:nodejs:node.js:14.17.5:*:*:*:lts:*:*:*
    cpe:2.3:a:nodejs:node.js:14.17.5:*:*:*:lts:*:*:*
  • cpe:2.3:a:nodejs:node.js:14.17.6:*:*:*:lts:*:*:*
    cpe:2.3:a:nodejs:node.js:14.17.6:*:*:*:lts:*:*:*
  • cpe:2.3:a:nodejs:node.js:14.18.0:*:*:*:lts:*:*:*
    cpe:2.3:a:nodejs:node.js:14.18.0:*:*:*:lts:*:*:*
  • cpe:2.3:a:nodejs:node.js:14.18.1:*:*:*:lts:*:*:*
    cpe:2.3:a:nodejs:node.js:14.18.1:*:*:*:lts:*:*:*
  • cpe:2.3:a:nodejs:node.js:14.18.2:*:*:*:lts:*:*:*
    cpe:2.3:a:nodejs:node.js:14.18.2:*:*:*:lts:*:*:*
  • cpe:2.3:a:nodejs:node.js:14.18.3:*:*:*:lts:*:*:*
    cpe:2.3:a:nodejs:node.js:14.18.3:*:*:*:lts:*:*:*
  • cpe:2.3:a:nodejs:node.js:14.19.0:*:*:*:lts:*:*:*
    cpe:2.3:a:nodejs:node.js:14.19.0:*:*:*:lts:*:*:*
  • cpe:2.3:a:nodejs:node.js:14.19.1:*:*:*:lts:*:*:*
    cpe:2.3:a:nodejs:node.js:14.19.1:*:*:*:lts:*:*:*
  • cpe:2.3:a:nodejs:node.js:14.19.2:*:*:*:lts:*:*:*
    cpe:2.3:a:nodejs:node.js:14.19.2:*:*:*:lts:*:*:*
  • cpe:2.3:a:nodejs:node.js:14.19.3:*:*:*:lts:*:*:*
    cpe:2.3:a:nodejs:node.js:14.19.3:*:*:*:lts:*:*:*
  • cpe:2.3:a:nodejs:node.js:18.0.0:*:*:*:-:*:*:*
    cpe:2.3:a:nodejs:node.js:18.0.0:*:*:*:-:*:*:*
  • cpe:2.3:a:nodejs:node.js:18.0.1:*:*:*:-:*:*:*
    cpe:2.3:a:nodejs:node.js:18.0.1:*:*:*:-:*:*:*
  • cpe:2.3:a:nodejs:node.js:18.0.2:*:*:*:-:*:*:*
    cpe:2.3:a:nodejs:node.js:18.0.2:*:*:*:-:*:*:*
  • cpe:2.3:a:nodejs:node.js:18.0.3:*:*:*:-:*:*:*
    cpe:2.3:a:nodejs:node.js:18.0.3:*:*:*:-:*:*:*
  • cpe:2.3:a:nodejs:node.js:18.0.4:*:*:*:-:*:*:*
    cpe:2.3:a:nodejs:node.js:18.0.4:*:*:*:-:*:*:*
  • cpe:2.3:o:microsoft:windows:-:*:*:*:*:*:*:*
    cpe:2.3:o:microsoft:windows:-:*:*:*:*:*:*:*
CVSS
Base: None
Impact:
Exploitability:
CWE CWE-427
CAPEC
  • Leveraging/Manipulating Configuration File Search Paths
    This pattern of attack sees an adversary load a malicious resource into a program's standard path so that when a known command is executed then the system instead executes the malicious component. The adversary can either modify the search path a program uses, like a PATH variable or classpath, or they can manipulate resources on the path to point to their malicious components. J2EE applications and other component based applications that are built from multiple binaries can have very long list of dependencies to execute. If one of these libraries and/or references is controllable by the attacker then application controls can be circumvented by the attacker.
  • Search Order Hijacking
    An adversary exploits a weakness in an application's specification of external libraries to exploit the functionality of the loader where the process loading the library searches first in the same directory in which the process binary resides and then in other directories. Exploitation of this preferential search order can allow an attacker to make the loading process load the adversary's rogue library rather than the legitimate library. This attack can be leveraged with many different libraries and with many different loading processes. No forensic trails are left in the system's registry or file system that an incorrect library had been loaded.
Access
VectorComplexityAuthentication
Impact
ConfidentialityIntegrityAvailability
Last major update 28-10-2022 - 18:29
Published 14-07-2022 - 15:15
Last modified 28-10-2022 - 18:29
Back to Top