Skip to content
Heist/ feed
Back to feed
High

Security advisory

Type: advisorySources: OSVCVE: CVE-2019-20920

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).

Products
Not specified
Affected versions
Not specified
Fixed versions
Not specified
CVEs
CVE-2019-20920
Confirmed fixed CVEs
Not specified
Updated in this feed
1 Nov 2026, 05:27 UTC · Revision 1

Source evidence

CVE-2019-20920

core-osv · Original source

Published 30 Sept 2020, 18:15 UTC

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).

osv:CVE-2019-20920
Complete source record
{
  "id": "6a8b089c54faec2873f094e70eb7bce37fc02e73f9568190cfb3194b53cf18eb",
  "url": "https://osv.dev/vulnerability/CVE-2019-20920",
  "method": "structured",
  "payload": {
    "kind": "advisory",
    "title": "CVE-2019-20920",
    "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).",
    "evidence": "osv:CVE-2019-20920",
    "products": [],
    "severity": "high",
    "structured": {
      "id": "CVE-2019-20920",
      "aliases": [
        "CVE-2019-20920",
        "GHSA-3cqr-58rm-57f8",
        "SNYK-JS-HANDLEBARS-534478"
      ],
      "metrics": [
        {
          "type": "CVSS_V3",
          "score": "CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:C/C:H/I:L/A:L"
        }
      ],
      "affected": [
        {
          "ranges": [
            {
              "repo": "https://github.com/handlebars-lang/handlebars.js",
              "type": "GIT",
              "events": [
                {
                  "introduced": "0"
                },
                {
                  "fixed": "16bd606fec0ada4c811eb7afe6bfd619d88f3d37"
                },
                {
                  "introduced": "bff5fab8f9d42e21950be00dcf1cedf4dc1a565b"
                },
                {
                  "fixed": "c819c8b533934d2ac18001d7eb27a3205b00c2f3"
                }
              ],
              "database_specific": {
                "extracted_events": [
                  {
                    "cpe": "cpe:2.3:a:handlebarsjs:handlebars:*:*:*:*:*:node.js:*:*",
                    "range": [
                      {
                        "introduced": "0"
                      },
                      {
                        "fixed": "3.0.8"
                      }
                    ],
                    "source": "CPE_RANGE"
                  },
                  {
                    "cpe": "cpe:2.3:a:handlebarsjs:handlebars:*:*:*:*:*:node.js:*:*",
                    "range": [
                      {
                        "introduced": "4.0.0"
                      },
                      {
                        "fixed": "4.5.3"
                      }
                    ],
                    "source": "CPE_RANGE"
                  }
                ]
              }
            }
          ],
          "versions": [
            "v3.0.7",
            "v4.5.2",
            "v4.5.1",
            "v4.5.0",
            "v4.4.3",
            "v4.4.2",
            "v4.4.1",
            "v4.2.1",
            "v4.3.4",
            "v4.4.0",
            "v4.3.3",
            "v4.3.2",
            "v4.3.1",
            "v4.3.0",
            "v4.2.0",
            "v4.1.2-0",
            "v4.1.2",
            "v1.3.0",
            "v4.1.1",
            "v4.0.12",
            "v3.0.6",
            "v3.0.5",
            "v3.0.4",
            "v4.0.11",
            "v4.0.10",
            "v4.0.9",
            "v4.0.8",
            "v4.0.7",
            "v4.0.6",
            "v4.0.5",
            "v3.0.3",
            "v4.0.4",
            "v4.0.3",
            "v4.0.2",
            "v4.0.1",
            "v4.0.0",
            "v3.0.2",
            "v3.0.1",
            "v3.0.0",
            "v2.0.0",
            "v2.0.0-beta.1",
            "v2.0.0-alpha.4",
            "v2.0.0-alpha.3",
            "v2.0.0-alpha.2",
            "v2.0.0-alpha.1",
            "v1.2.1",
            "v1.2.0",
            "v1.1.2",
            "v1.1.1",
            "v1.1.0",
            "v1.0.12",
            "1.0.0",
            "v1.0.11",
            "1.0.0-rc.4",
            "v1.0.10",
            "v1.0.9",
            "1.0.0-rc.3",
            "v1.0.8",
            "1.0.rc.2",
            "v1.0.6-2",
            "v1.0.6",
            "v1.0.6beta",
            "1.0.0.beta.1",
            "0.9.0.pre.4"
          ],
          "database_specific": {
            "source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2019-20920.json"
          }
        }
      ],
      "modified": "2026-10-24T10:30:28.950515041Z",
      "provider": "osv",
      "references": [
        "https://snyk.io/vuln/SNYK-JS-HANDLEBARS-534478",
        "https://www.npmjs.com/advisories/1324",
        "https://www.npmjs.com/advisories/1316"
      ],
      "provider_metadata": {}
    },
    "related_cves": [
      {
        "value": "CVE-2019-20920",
        "evidence": "/id"
      }
    ],
    "security_relevant": true,
    "severity_evidence": "/severity/0/score"
  },
  "source_id": "core-osv",
  "document_id": 432177,
  "published_at": "2020-09-30T18:15:17.927+00:00"
}