CVE-2019-20920: Vulnerability Analysis & Exploit Details

Status: Analyzed - Last modified: 15-10-2020 Published: 30-09-2020

CVE-2019-20920
Vulnerability Scoring

8.1
/10

Attack Complexity Details

  • Attack Complexity: HIGH IMPACT
  • Attack Vector: NETWORK
  • Privileges Required: None
  • Scope: CHANGED
  • User Interaction: NONE

CIA Impact Definition

  • Confidentiality: HIGH IMPACT
  • Integrity: Low Impact
  • Availability: Low Impact

CVE-2019-20920 Vulnerability Summary

Handlebars before 3.0.8 and 4.x before 4.5.3 is vulnerable to Arbitrary Code Execution. The lookup helper fails to properly validate templates, allowing attackers to submit templates that execute arbitrary JavaScript. This can be used to run arbitrary code on a server processing Handlebars templates or in a victim's browser (effectively serving as XSS).

Access Complexity Graph for CVE-2019-20920

Impact Analysis for CVE-2019-20920

CVE-2019-20920: Detailed Information and External References

EPSS

0.01186

EPSS %

0.85113

References

0.01186

CWE

CWE-94

CAPEC

0.01186

  • Code Injection: An adversary exploits a weakness in input validation on the target to inject new code into that which is currently executing. This differs from code inclusion in that code inclusion involves the addition or replacement of a reference to a code file, which is subsequently loaded by the target and used as part of the code of some application.
  • Leverage Executable Code in Non-Executable Files: An attack of this type exploits a system's trust in configuration and resource files. When the executable loads the resource (such as an image file or configuration file) the attacker has modified the file to either execute malicious code directly or manipulate the target process (e.g. application server) to execute based on the malicious configuration parameters. Since systems are increasingly interrelated mashing up resources from local and remote sources the possibility of this attack occurring is high.
  • Manipulating User-Controlled Variables: This attack targets user controlled variables (DEBUG=1, PHP Globals, and So Forth). An adversary can override variables leveraging user-supplied, untrusted query variables directly used on the application server without any data sanitization. In extreme cases, the adversary can change variables controlling the business logic of the application. For instance, in languages like PHP, a number of poorly set default configurations may allow the user to override variables.

Vulnerable Configurations

  • cpe:2.3:a:handlebarsjs:handlebars:0.9.0:prerelease4:*:*:*:node.js:*:*
    cpe:2.3:a:handlebarsjs:handlebars:0.9.0:prerelease4:*:*:*:node.js:*:*
  • cpe:2.3:a:handlebarsjs:handlebars:1.0.0:-:*:*:*:node.js:*:*
    cpe:2.3:a:handlebarsjs:handlebars:1.0.0:-:*:*:*:node.js:*:*
  • cpe:2.3:a:handlebarsjs:handlebars:1.0.0:rc1:*:*:*:node.js:*:*
    cpe:2.3:a:handlebarsjs:handlebars:1.0.0:rc1:*:*:*:node.js:*:*
  • cpe:2.3:a:handlebarsjs:handlebars:1.0.0:rc2:*:*:*:node.js:*:*
    cpe:2.3:a:handlebarsjs:handlebars:1.0.0:rc2:*:*:*:node.js:*:*
  • cpe:2.3:a:handlebarsjs:handlebars:1.0.0:rc3:*:*:*:node.js:*:*
    cpe:2.3:a:handlebarsjs:handlebars:1.0.0:rc3:*:*:*:node.js:*:*
  • cpe:2.3:a:handlebarsjs:handlebars:1.0.0:rc4:*:*:*:node.js:*:*
    cpe:2.3:a:handlebarsjs:handlebars:1.0.0:rc4:*:*:*:node.js:*:*
  • cpe:2.3:a:handlebarsjs:handlebars:1.0.0:beta1:*:*:*:node.js:*:*
    cpe:2.3:a:handlebarsjs:handlebars:1.0.0:beta1:*:*:*:node.js:*:*
  • cpe:2.3:a:handlebarsjs:handlebars:1.0.5:beta:*:*:*:node.js:*:*
    cpe:2.3:a:handlebarsjs:handlebars:1.0.5:beta:*:*:*:node.js:*:*
  • cpe:2.3:a:handlebarsjs:handlebars:1.0.6:-:*:*:*:node.js:*:*
    cpe:2.3:a:handlebarsjs:handlebars:1.0.6:-:*:*:*:node.js:*:*
  • cpe:2.3:a:handlebarsjs:handlebars:1.0.6-2:*:*:*:*:node.js:*:*
    cpe:2.3:a:handlebarsjs:handlebars:1.0.6-2:*:*:*:*:node.js:*:*
  • cpe:2.3:a:handlebarsjs:handlebars:1.0.6:beta:*:*:*:node.js:*:*
    cpe:2.3:a:handlebarsjs:handlebars:1.0.6:beta:*:*:*:node.js:*:*
  • cpe:2.3:a:handlebarsjs:handlebars:1.0.7:*:*:*:*:node.js:*:*
    cpe:2.3:a:handlebarsjs:handlebars:1.0.7:*:*:*:*:node.js:*:*
  • cpe:2.3:a:handlebarsjs:handlebars:1.0.8:*:*:*:*:node.js:*:*
    cpe:2.3:a:handlebarsjs:handlebars:1.0.8:*:*:*:*:node.js:*:*
  • cpe:2.3:a:handlebarsjs:handlebars:1.0.9:*:*:*:*:node.js:*:*
    cpe:2.3:a:handlebarsjs:handlebars:1.0.9:*:*:*:*:node.js:*:*
  • cpe:2.3:a:handlebarsjs:handlebars:1.0.10:*:*:*:*:node.js:*:*
    cpe:2.3:a:handlebarsjs:handlebars:1.0.10:*:*:*:*:node.js:*:*
  • cpe:2.3:a:handlebarsjs:handlebars:1.0.11:*:*:*:*:node.js:*:*
    cpe:2.3:a:handlebarsjs:handlebars:1.0.11:*:*:*:*:node.js:*:*
  • cpe:2.3:a:handlebarsjs:handlebars:1.0.12:*:*:*:*:node.js:*:*
    cpe:2.3:a:handlebarsjs:handlebars:1.0.12:*:*:*:*:node.js:*:*
  • cpe:2.3:a:handlebarsjs:handlebars:1.1.0:*:*:*:*:node.js:*:*
    cpe:2.3:a:handlebarsjs:handlebars:1.1.0:*:*:*:*:node.js:*:*
  • cpe:2.3:a:handlebarsjs:handlebars:1.1.1:*:*:*:*:node.js:*:*
    cpe:2.3:a:handlebarsjs:handlebars:1.1.1:*:*:*:*:node.js:*:*
  • cpe:2.3:a:handlebarsjs:handlebars:1.1.2:*:*:*:*:node.js:*:*
    cpe:2.3:a:handlebarsjs:handlebars:1.1.2:*:*:*:*:node.js:*:*
  • cpe:2.3:a:handlebarsjs:handlebars:1.2.0:*:*:*:*:node.js:*:*
    cpe:2.3:a:handlebarsjs:handlebars:1.2.0:*:*:*:*:node.js:*:*
  • cpe:2.3:a:handlebarsjs:handlebars:1.2.1:*:*:*:*:node.js:*:*
    cpe:2.3:a:handlebarsjs:handlebars:1.2.1:*:*:*:*:node.js:*:*
  • cpe:2.3:a:handlebarsjs:handlebars:1.3.0:*:*:*:*:node.js:*:*
    cpe:2.3:a:handlebarsjs:handlebars:1.3.0:*:*:*:*:node.js:*:*
  • cpe:2.3:a:handlebarsjs:handlebars:2.0.0:-:*:*:*:node.js:*:*
    cpe:2.3:a:handlebarsjs:handlebars:2.0.0:-:*:*:*:node.js:*:*
  • cpe:2.3:a:handlebarsjs:handlebars:2.0.0:beta1:*:*:*:node.js:*:*
    cpe:2.3:a:handlebarsjs:handlebars:2.0.0:beta1:*:*:*:node.js:*:*
  • cpe:2.3:a:handlebarsjs:handlebars:2.0.0:alpha1:*:*:*:node.js:*:*
    cpe:2.3:a:handlebarsjs:handlebars:2.0.0:alpha1:*:*:*:node.js:*:*
  • cpe:2.3:a:handlebarsjs:handlebars:2.0.0:alpha2:*:*:*:node.js:*:*
    cpe:2.3:a:handlebarsjs:handlebars:2.0.0:alpha2:*:*:*:node.js:*:*
  • cpe:2.3:a:handlebarsjs:handlebars:2.0.0:alpha3:*:*:*:node.js:*:*
    cpe:2.3:a:handlebarsjs:handlebars:2.0.0:alpha3:*:*:*:node.js:*:*
  • cpe:2.3:a:handlebarsjs:handlebars:2.0.0:alpha4:*:*:*:node.js:*:*
    cpe:2.3:a:handlebarsjs:handlebars:2.0.0:alpha4:*:*:*:node.js:*:*
  • cpe:2.3:a:handlebarsjs:handlebars:3.0.0:*:*:*:*:node.js:*:*
    cpe:2.3:a:handlebarsjs:handlebars:3.0.0:*:*:*:*:node.js:*:*
  • cpe:2.3:a:handlebarsjs:handlebars:3.0.1:*:*:*:*:node.js:*:*
    cpe:2.3:a:handlebarsjs:handlebars:3.0.1:*:*:*:*:node.js:*:*
  • cpe:2.3:a:handlebarsjs:handlebars:3.0.2:*:*:*:*:node.js:*:*
    cpe:2.3:a:handlebarsjs:handlebars:3.0.2:*:*:*:*:node.js:*:*
  • cpe:2.3:a:handlebarsjs:handlebars:3.0.3:*:*:*:*:node.js:*:*
    cpe:2.3:a:handlebarsjs:handlebars:3.0.3:*:*:*:*:node.js:*:*
  • cpe:2.3:a:handlebarsjs:handlebars:3.0.4:*:*:*:*:node.js:*:*
    cpe:2.3:a:handlebarsjs:handlebars:3.0.4:*:*:*:*:node.js:*:*
  • cpe:2.3:a:handlebarsjs:handlebars:3.0.5:*:*:*:*:node.js:*:*
    cpe:2.3:a:handlebarsjs:handlebars:3.0.5:*:*:*:*:node.js:*:*
  • cpe:2.3:a:handlebarsjs:handlebars:3.0.6:*:*:*:*:node.js:*:*
    cpe:2.3:a:handlebarsjs:handlebars:3.0.6:*:*:*:*:node.js:*:*
  • cpe:2.3:a:handlebarsjs:handlebars:3.0.7:*:*:*:*:node.js:*:*
    cpe:2.3:a:handlebarsjs:handlebars:3.0.7:*:*:*:*:node.js:*:*
  • cpe:2.3:a:handlebarsjs:handlebars:4.0.0:*:*:*:*:node.js:*:*
    cpe:2.3:a:handlebarsjs:handlebars:4.0.0:*:*:*:*:node.js:*:*
  • cpe:2.3:a:handlebarsjs:handlebars:4.0.1:*:*:*:*:node.js:*:*
    cpe:2.3:a:handlebarsjs:handlebars:4.0.1:*:*:*:*:node.js:*:*
  • cpe:2.3:a:handlebarsjs:handlebars:4.0.13-0:*:*:*:*:node.js:*:*
    cpe:2.3:a:handlebarsjs:handlebars:4.0.13-0:*:*:*:*:node.js:*:*
  • cpe:2.3:a:handlebarsjs:handlebars:4.0.2:*:*:*:*:node.js:*:*
    cpe:2.3:a:handlebarsjs:handlebars:4.0.2:*:*:*:*:node.js:*:*
  • cpe:2.3:a:handlebarsjs:handlebars:4.0.3:*:*:*:*:node.js:*:*
    cpe:2.3:a:handlebarsjs:handlebars:4.0.3:*:*:*:*:node.js:*:*
  • cpe:2.3:a:handlebarsjs:handlebars:4.0.4:*:*:*:*:node.js:*:*
    cpe:2.3:a:handlebarsjs:handlebars:4.0.4:*:*:*:*:node.js:*:*
  • cpe:2.3:a:handlebarsjs:handlebars:4.0.5:*:*:*:*:node.js:*:*
    cpe:2.3:a:handlebarsjs:handlebars:4.0.5:*:*:*:*:node.js:*:*
  • cpe:2.3:a:handlebarsjs:handlebars:4.0.6:*:*:*:*:node.js:*:*
    cpe:2.3:a:handlebarsjs:handlebars:4.0.6:*:*:*:*:node.js:*:*
  • cpe:2.3:a:handlebarsjs:handlebars:4.0.7:*:*:*:*:node.js:*:*
    cpe:2.3:a:handlebarsjs:handlebars:4.0.7:*:*:*:*:node.js:*:*
  • cpe:2.3:a:handlebarsjs:handlebars:4.0.8:*:*:*:*:node.js:*:*
    cpe:2.3:a:handlebarsjs:handlebars:4.0.8:*:*:*:*:node.js:*:*
  • cpe:2.3:a:handlebarsjs:handlebars:4.0.9:*:*:*:*:node.js:*:*
    cpe:2.3:a:handlebarsjs:handlebars:4.0.9:*:*:*:*:node.js:*:*
  • cpe:2.3:a:handlebarsjs:handlebars:4.0.10:*:*:*:*:node.js:*:*
    cpe:2.3:a:handlebarsjs:handlebars:4.0.10:*:*:*:*:node.js:*:*
  • cpe:2.3:a:handlebarsjs:handlebars:4.0.11:*:*:*:*:node.js:*:*
    cpe:2.3:a:handlebarsjs:handlebars:4.0.11:*:*:*:*:node.js:*:*
  • cpe:2.3:a:handlebarsjs:handlebars:4.0.12:*:*:*:*:node.js:*:*
    cpe:2.3:a:handlebarsjs:handlebars:4.0.12:*:*:*:*:node.js:*:*
  • cpe:2.3:a:handlebarsjs:handlebars:4.0.13:-:*:*:*:node.js:*:*
    cpe:2.3:a:handlebarsjs:handlebars:4.0.13:-:*:*:*:node.js:*:*
  • cpe:2.3:a:handlebarsjs:handlebars:4.0.13:beta0:*:*:*:node.js:*:*
    cpe:2.3:a:handlebarsjs:handlebars:4.0.13:beta0:*:*:*:node.js:*:*
  • cpe:2.3:a:handlebarsjs:handlebars:4.0.14:*:*:*:*:node.js:*:*
    cpe:2.3:a:handlebarsjs:handlebars:4.0.14:*:*:*:*:node.js:*:*
  • cpe:2.3:a:handlebarsjs:handlebars:4.1.0:*:*:*:*:node.js:*:*
    cpe:2.3:a:handlebarsjs:handlebars:4.1.0:*:*:*:*:node.js:*:*
  • cpe:2.3:a:handlebarsjs:handlebars:4.1.1:*:*:*:*:node.js:*:*
    cpe:2.3:a:handlebarsjs:handlebars:4.1.1:*:*:*:*:node.js:*:*
  • cpe:2.3:a:handlebarsjs:handlebars:4.1.2:*:*:*:*:node.js:*:*
    cpe:2.3:a:handlebarsjs:handlebars:4.1.2:*:*:*:*:node.js:*:*
  • cpe:2.3:a:handlebarsjs:handlebars:4.1.2-0:*:*:*:*:node.js:*:*
    cpe:2.3:a:handlebarsjs:handlebars:4.1.2-0:*:*:*:*:node.js:*:*
  • cpe:2.3:a:handlebarsjs:handlebars:4.2.0:*:*:*:*:node.js:*:*
    cpe:2.3:a:handlebarsjs:handlebars:4.2.0:*:*:*:*:node.js:*:*
  • cpe:2.3:a:handlebarsjs:handlebars:4.2.1:*:*:*:*:node.js:*:*
    cpe:2.3:a:handlebarsjs:handlebars:4.2.1:*:*:*:*:node.js:*:*
  • cpe:2.3:a:handlebarsjs:handlebars:4.2.2:*:*:*:*:node.js:*:*
    cpe:2.3:a:handlebarsjs:handlebars:4.2.2:*:*:*:*:node.js:*:*
  • cpe:2.3:a:handlebarsjs:handlebars:4.3.0:*:*:*:*:node.js:*:*
    cpe:2.3:a:handlebarsjs:handlebars:4.3.0:*:*:*:*:node.js:*:*
  • cpe:2.3:a:handlebarsjs:handlebars:4.3.1:*:*:*:*:node.js:*:*
    cpe:2.3:a:handlebarsjs:handlebars:4.3.1:*:*:*:*:node.js:*:*
  • cpe:2.3:a:handlebarsjs:handlebars:4.3.2:*:*:*:*:node.js:*:*
    cpe:2.3:a:handlebarsjs:handlebars:4.3.2:*:*:*:*:node.js:*:*
  • cpe:2.3:a:handlebarsjs:handlebars:4.3.3:*:*:*:*:node.js:*:*
    cpe:2.3:a:handlebarsjs:handlebars:4.3.3:*:*:*:*:node.js:*:*
  • cpe:2.3:a:handlebarsjs:handlebars:4.3.4:*:*:*:*:node.js:*:*
    cpe:2.3:a:handlebarsjs:handlebars:4.3.4:*:*:*:*:node.js:*:*
  • cpe:2.3:a:handlebarsjs:handlebars:4.3.5:*:*:*:*:node.js:*:*
    cpe:2.3:a:handlebarsjs:handlebars:4.3.5:*:*:*:*:node.js:*:*
  • cpe:2.3:a:handlebarsjs:handlebars:4.4.0:*:*:*:*:node.js:*:*
    cpe:2.3:a:handlebarsjs:handlebars:4.4.0:*:*:*:*:node.js:*:*
  • cpe:2.3:a:handlebarsjs:handlebars:4.4.1:*:*:*:*:node.js:*:*
    cpe:2.3:a:handlebarsjs:handlebars:4.4.1:*:*:*:*:node.js:*:*
  • cpe:2.3:a:handlebarsjs:handlebars:4.4.2:*:*:*:*:node.js:*:*
    cpe:2.3:a:handlebarsjs:handlebars:4.4.2:*:*:*:*:node.js:*:*
  • cpe:2.3:a:handlebarsjs:handlebars:4.4.3:*:*:*:*:node.js:*:*
    cpe:2.3:a:handlebarsjs:handlebars:4.4.3:*:*:*:*:node.js:*:*
  • cpe:2.3:a:handlebarsjs:handlebars:4.4.4:*:*:*:*:node.js:*:*
    cpe:2.3:a:handlebarsjs:handlebars:4.4.4:*:*:*:*:node.js:*:*
  • cpe:2.3:a:handlebarsjs:handlebars:4.4.5:*:*:*:*:node.js:*:*
    cpe:2.3:a:handlebarsjs:handlebars:4.4.5:*:*:*:*:node.js:*:*
  • cpe:2.3:a:handlebarsjs:handlebars:4.5.0:*:*:*:*:node.js:*:*
    cpe:2.3:a:handlebarsjs:handlebars:4.5.0:*:*:*:*:node.js:*:*
  • cpe:2.3:a:handlebarsjs:handlebars:4.5.1:*:*:*:*:node.js:*:*
    cpe:2.3:a:handlebarsjs:handlebars:4.5.1:*:*:*:*:node.js:*:*
  • cpe:2.3:a:handlebarsjs:handlebars:4.5.2:*:*:*:*:node.js:*:*
    cpe:2.3:a:handlebarsjs:handlebars:4.5.2:*:*:*:*:node.js:*:*

CVSS3 Source

nvd@nist.gov

CVSS3 Type

Primary

CVSS3 Vector

CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:C/C:H/I:L/A:L

Protect Your Infrastructure: Combat Critical CVE Threats

Stay updated with real-time CVE vulnerabilities and take action to secure your systems. Enhance your cybersecurity posture with the latest threat intelligence and mitigation techniques. Develop the skills necessary to defend against CVEs and secure critical infrastructures. Join the top cybersecurity professionals safeguarding today's infrastructures.

Recently Published CVEs