{
    "dataType": "CVE_RECORD",
    "dataVersion": "5.2",
    "cveMetadata": {
        "cveId": "CVE-2026-33940",
        "assignerOrgId": "a0819718-46f1-4df5-94e2-005712e83aaa",
        "state": "PUBLISHED",
        "assignerShortName": "GitHub_M",
        "dateReserved": "2026-03-24T19:50:52.103Z",
        "datePublished": "2026-03-27T21:11:10.719Z",
        "dateUpdated": "2026-09-04T12:04:53.335Z"
    },
    "containers": {
        "cna": {
            "title": "Handlebars.js has JavaScript Injection via AST Type Confusion when passing an object as dynamic partial",
            "problemTypes": [
                {
                    "descriptions": [
                        {
                            "cweId": "CWE-94",
                            "lang": "en",
                            "description": "CWE-94: Improper Control of Generation of Code ('Code Injection')",
                            "type": "CWE"
                        }
                    ]
                },
                {
                    "descriptions": [
                        {
                            "cweId": "CWE-843",
                            "lang": "en",
                            "description": "CWE-843: Access of Resource Using Incompatible Type ('Type Confusion')",
                            "type": "CWE"
                        }
                    ]
                }
            ],
            "metrics": [
                {
                    "cvssV3_1": {
                        "attackComplexity": "HIGH",
                        "attackVector": "NETWORK",
                        "availabilityImpact": "HIGH",
                        "baseScore": 8.1,
                        "baseSeverity": "HIGH",
                        "confidentialityImpact": "HIGH",
                        "integrityImpact": "HIGH",
                        "privilegesRequired": "NONE",
                        "scope": "UNCHANGED",
                        "userInteraction": "NONE",
                        "vectorString": "CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H",
                        "version": "3.1"
                    }
                }
            ],
            "references": [
                {
                    "name": "https://github.com/handlebars-lang/handlebars.js/security/advisories/GHSA-xhpv-hc6g-r9c6",
                    "tags": [
                        "x_refsource_CONFIRM"
                    ],
                    "url": "https://github.com/handlebars-lang/handlebars.js/security/advisories/GHSA-xhpv-hc6g-r9c6"
                },
                {
                    "name": "https://github.com/handlebars-lang/handlebars.js/commit/68d8df5a88e0a26fe9e6084c5c6aaebe67b07da2",
                    "tags": [
                        "x_refsource_MISC"
                    ],
                    "url": "https://github.com/handlebars-lang/handlebars.js/commit/68d8df5a88e0a26fe9e6084c5c6aaebe67b07da2"
                },
                {
                    "name": "https://github.com/handlebars-lang/handlebars.js/releases/tag/v4.7.9",
                    "tags": [
                        "x_refsource_MISC"
                    ],
                    "url": "https://github.com/handlebars-lang/handlebars.js/releases/tag/v4.7.9"
                }
            ],
            "affected": [
                {
                    "vendor": "handlebars-lang",
                    "product": "handlebars.js",
                    "versions": [
                        {
                            "version": ">= 4.0.0, < 4.7.9",
                            "status": "affected"
                        }
                    ]
                }
            ],
            "providerMetadata": {
                "orgId": "a0819718-46f1-4df5-94e2-005712e83aaa",
                "shortName": "GitHub_M",
                "dateUpdated": "2026-03-27T21:11:10.719Z"
            },
            "descriptions": [
                {
                    "lang": "en",
                    "value": "Handlebars provides the power necessary to let users build semantic templates. In versions 4.0.0 through 4.7.8, a crafted object placed in the template context can bypass all conditional guards in `resolvePartial()` and cause `invokePartial()` to return `undefined`. The Handlebars runtime then treats the unresolved partial as a source that needs to be compiled, passing the crafted object to `env.compile()`. Because the object is a valid Handlebars AST containing injected code, the generated JavaScript executes arbitrary commands on the server. The attack requires the adversary to control a value that can be returned by a dynamic partial lookup. Version 4.7.9 fixes the issue. Some workarounds are available. First, use the runtime-only build (`require('handlebars/runtime')`). Without `compile()`,  the fallback compilation path in `invokePartial` is unreachable. Second, sanitize context data before rendering: Ensure no value in the context is a non-primitive  object that could be passed to a dynamic partial. Third, avoid dynamic partial lookups (`{{> (lookup ...)}}`) when context data is user-controlled."
                }
            ],
            "source": {
                "advisory": "GHSA-xhpv-hc6g-r9c6",
                "discovery": "UNKNOWN"
            }
        },
        "adp": [
            {
                "metrics": [
                    {
                        "other": {
                            "type": "ssvc",
                            "content": {
                                "timestamp": "2026-03-31T00:00:00+00:00",
                                "options": [
                                    {
                                        "Exploitation": "poc"
                                    },
                                    {
                                        "Automatable": "no"
                                    },
                                    {
                                        "Technical Impact": "total"
                                    }
                                ],
                                "role": "CISA Coordinator",
                                "version": "2.0.3",
                                "id": "CVE-2026-33940"
                            }
                        }
                    }
                ],
                "title": "CISA ADP Vulnrichment",
                "providerMetadata": {
                    "orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
                    "shortName": "CISA-ADP",
                    "dateUpdated": "2026-04-01T03:55:41.422Z"
                }
            },
            {
                "affected": [
                    {
                        "collectionURL": "https://catalog.redhat.com/software/containers/",
                        "cpes": [
                            "cpe:/a:redhat:cluster_observability_operator:1.5::el9"
                        ],
                        "defaultStatus": "affected",
                        "packageName": "cluster-observability-operator/logging-console-plugin-pf4-rhel9",
                        "product": "Cluster Observability Operator 1.5.0",
                        "vendor": "Red Hat",
                        "versions": [
                            {
                                "lessThan": "*",
                                "status": "unaffected",
                                "version": "1782839279",
                                "versionType": "rpm"
                            }
                        ]
                    },
                    {
                        "collectionURL": "https://catalog.redhat.com/software/containers/",
                        "cpes": [
                            "cpe:/a:redhat:cluster_observability_operator:1.5::el9"
                        ],
                        "defaultStatus": "affected",
                        "packageName": "cluster-observability-operator/logging-console-plugin-pf5-rhel9",
                        "product": "Cluster Observability Operator 1.5.0",
                        "vendor": "Red Hat",
                        "versions": [
                            {
                                "lessThan": "*",
                                "status": "unaffected",
                                "version": "1782840539",
                                "versionType": "rpm"
                            }
                        ]
                    },
                    {
                        "collectionURL": "https://catalog.redhat.com/software/containers/",
                        "cpes": [
                            "cpe:/a:redhat:cluster_observability_operator:1.5::el9"
                        ],
                        "defaultStatus": "affected",
                        "packageName": "cluster-observability-operator/troubleshooting-panel-console-plugin-pf6-rhel9",
                        "product": "Cluster Observability Operator 1.5.0",
                        "vendor": "Red Hat",
                        "versions": [
                            {
                                "lessThan": "*",
                                "status": "unaffected",
                                "version": "1782839996",
                                "versionType": "rpm"
                            }
                        ]
                    },
                    {
                        "collectionURL": "https://catalog.redhat.com/software/containers/",
                        "cpes": [
                            "cpe:/a:redhat:openshift_devspaces:3.27::el9"
                        ],
                        "defaultStatus": "affected",
                        "packageName": "devspaces/code-rhel9",
                        "product": "Red Hat OpenShift Dev Spaces 3.27",
                        "vendor": "Red Hat",
                        "versions": [
                            {
                                "lessThan": "*",
                                "status": "unaffected",
                                "version": "1776744110",
                                "versionType": "rpm"
                            }
                        ]
                    },
                    {
                        "collectionURL": "https://access.redhat.com/downloads/content/package-browser/",
                        "cpes": [
                            "cpe:/a:redhat:cryostat:4"
                        ],
                        "defaultStatus": "unaffected",
                        "packageName": "handlebars",
                        "product": "Cryostat 4",
                        "vendor": "Red Hat"
                    },
                    {
                        "collectionURL": "https://access.redhat.com/downloads/content/package-browser/",
                        "cpes": [
                            "cpe:/a:redhat:logging:5"
                        ],
                        "defaultStatus": "affected",
                        "packageName": "openshift-logging/elasticsearch6-rhel9",
                        "product": "Logging Subsystem for Red Hat OpenShift",
                        "vendor": "Red Hat"
                    },
                    {
                        "collectionURL": "https://access.redhat.com/downloads/content/package-browser/",
                        "cpes": [
                            "cpe:/a:redhat:logging:5"
                        ],
                        "defaultStatus": "affected",
                        "packageName": "openshift-logging/elasticsearch-operator-bundle",
                        "product": "Logging Subsystem for Red Hat OpenShift",
                        "vendor": "Red Hat"
                    },
                    {
                        "collectionURL": "https://access.redhat.com/downloads/content/package-browser/",
                        "cpes": [
                            "cpe:/a:redhat:logging:5"
                        ],
                        "defaultStatus": "affected",
                        "packageName": "openshift-logging/elasticsearch-proxy-rhel9",
                        "product": "Logging Subsystem for Red Hat OpenShift",
                        "vendor": "Red Hat"
                    },
                    {
                        "collectionURL": "https://access.redhat.com/downloads/content/package-browser/",
                        "cpes": [
                            "cpe:/a:redhat:logging:5"
                        ],
                        "defaultStatus": "affected",
                        "packageName": "openshift-logging/elasticsearch-rhel9-operator",
                        "product": "Logging Subsystem for Red Hat OpenShift",
                        "vendor": "Red Hat"
                    },
                    {
                        "collectionURL": "https://access.redhat.com/downloads/content/package-browser/",
                        "cpes": [
                            "cpe:/a:redhat:logging:5"
                        ],
                        "defaultStatus": "affected",
                        "packageName": "openshift-logging/kibana6-rhel8",
                        "product": "Logging Subsystem for Red Hat OpenShift",
                        "vendor": "Red Hat"
                    },
                    {
                        "collectionURL": "https://access.redhat.com/downloads/content/package-browser/",
                        "cpes": [
                            "cpe:/a:redhat:logging:5"
                        ],
                        "defaultStatus": "affected",
                        "packageName": "openshift-logging/logging-curator5-rhel9",
                        "product": "Logging Subsystem for Red Hat OpenShift",
                        "vendor": "Red Hat"
                    },
                    {
                        "collectionURL": "https://access.redhat.com/downloads/content/package-browser/",
                        "cpes": [
                            "cpe:/a:redhat:jboss_data_grid:8"
                        ],
                        "defaultStatus": "unaffected",
                        "packageName": "handlebars",
                        "product": "Red Hat Data Grid 8",
                        "vendor": "Red Hat"
                    },
                    {
                        "collectionURL": "https://access.redhat.com/downloads/content/package-browser/",
                        "cpes": [
                            "cpe:/o:redhat:enterprise_linux:10"
                        ],
                        "defaultStatus": "unaffected",
                        "packageName": "firefox",
                        "product": "Red Hat Enterprise Linux 10",
                        "vendor": "Red Hat"
                    },
                    {
                        "collectionURL": "https://access.redhat.com/downloads/content/package-browser/",
                        "cpes": [
                            "cpe:/o:redhat:enterprise_linux:10"
                        ],
                        "defaultStatus": "affected",
                        "packageName": "thunderbird",
                        "product": "Red Hat Enterprise Linux 10",
                        "vendor": "Red Hat"
                    },
                    {
                        "collectionURL": "https://access.redhat.com/downloads/content/package-browser/",
                        "cpes": [
                            "cpe:/o:redhat:enterprise_linux:7"
                        ],
                        "defaultStatus": "unaffected",
                        "packageName": "firefox",
                        "product": "Red Hat Enterprise Linux 7",
                        "vendor": "Red Hat"
                    },
                    {
                        "collectionURL": "https://access.redhat.com/downloads/content/package-browser/",
                        "cpes": [
                            "cpe:/o:redhat:enterprise_linux:8"
                        ],
                        "defaultStatus": "affected",
                        "packageName": "389-ds:1.4/389-ds-base",
                        "product": "Red Hat Enterprise Linux 8",
                        "vendor": "Red Hat"
                    },
                    {
                        "collectionURL": "https://access.redhat.com/downloads/content/package-browser/",
                        "cpes": [
                            "cpe:/o:redhat:enterprise_linux:8"
                        ],
                        "defaultStatus": "unaffected",
                        "packageName": "firefox",
                        "product": "Red Hat Enterprise Linux 8",
                        "vendor": "Red Hat"
                    },
                    {
                        "collectionURL": "https://access.redhat.com/downloads/content/package-browser/",
                        "cpes": [
                            "cpe:/o:redhat:enterprise_linux:8"
                        ],
                        "defaultStatus": "unaffected",
                        "packageName": "grafana",
                        "product": "Red Hat Enterprise Linux 8",
                        "vendor": "Red Hat"
                    },
                    {
                        "collectionURL": "https://access.redhat.com/downloads/content/package-browser/",
                        "cpes": [
                            "cpe:/o:redhat:enterprise_linux:8"
                        ],
                        "defaultStatus": "unaffected",
                        "packageName": "mozjs60",
                        "product": "Red Hat Enterprise Linux 8",
                        "vendor": "Red Hat"
                    },
                    {
                        "collectionURL": "https://access.redhat.com/downloads/content/package-browser/",
                        "cpes": [
                            "cpe:/o:redhat:enterprise_linux:8"
                        ],
                        "defaultStatus": "unaffected",
                        "packageName": "thunderbird",
                        "product": "Red Hat Enterprise Linux 8",
                        "vendor": "Red Hat"
                    },
                    {
                        "collectionURL": "https://access.redhat.com/downloads/content/package-browser/",
                        "cpes": [
                            "cpe:/o:redhat:enterprise_linux:9"
                        ],
                        "defaultStatus": "affected",
                        "packageName": "firefox",
                        "product": "Red Hat Enterprise Linux 9",
                        "vendor": "Red Hat"
                    },
                    {
                        "collectionURL": "https://access.redhat.com/downloads/content/package-browser/",
                        "cpes": [
                            "cpe:/o:redhat:enterprise_linux:9"
                        ],
                        "defaultStatus": "unaffected",
                        "packageName": "thunderbird",
                        "product": "Red Hat Enterprise Linux 9",
                        "vendor": "Red Hat"
                    },
                    {
                        "collectionURL": "https://access.redhat.com/downloads/content/package-browser/",
                        "cpes": [
                            "cpe:/a:redhat:openshift_ai"
                        ],
                        "defaultStatus": "unaffected",
                        "packageName": "rhoai/odh-workbench-codeserver-datascience-cpu-py312-rhel9",
                        "product": "Red Hat OpenShift AI (RHOAI)",
                        "vendor": "Red Hat"
                    },
                    {
                        "collectionURL": "https://access.redhat.com/downloads/content/package-browser/",
                        "cpes": [
                            "cpe:/a:redhat:jboss_enterprise_bpms_platform:7"
                        ],
                        "defaultStatus": "unaffected",
                        "packageName": "handlebars",
                        "product": "Red Hat Process Automation 7",
                        "vendor": "Red Hat"
                    }
                ],
                "datePublic": "2026-03-27T21:11:10.719Z",
                "descriptions": [
                    {
                        "lang": "en",
                        "value": "A flaw was found in Handlebars.js. A remote attacker can exploit this vulnerability by providing a specially crafted object within the template context. This crafted object, when processed by a dynamic partial lookup, can bypass security checks and be interpreted as malicious code. This allows the attacker to execute arbitrary commands on the server where Handlebars.js is running."
                    }
                ],
                "metrics": [
                    {
                        "other": {
                            "content": {
                                "namespace": "https://access.redhat.com/security/updates/classification/",
                                "value": "Important"
                            },
                            "type": "Red Hat severity rating"
                        }
                    },
                    {
                        "cvssV3_1": {
                            "attackComplexity": "HIGH",
                            "attackVector": "NETWORK",
                            "availabilityImpact": "HIGH",
                            "baseScore": 8.1,
                            "baseSeverity": "HIGH",
                            "confidentialityImpact": "HIGH",
                            "integrityImpact": "HIGH",
                            "privilegesRequired": "NONE",
                            "scope": "UNCHANGED",
                            "userInteraction": "NONE",
                            "vectorString": "CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H",
                            "version": "3.1"
                        },
                        "format": "CVSS"
                    }
                ],
                "problemTypes": [
                    {
                        "descriptions": [
                            {
                                "cweId": "CWE-94",
                                "description": "Improper Control of Generation of Code ('Code Injection')",
                                "lang": "en",
                                "type": "CWE"
                            }
                        ]
                    }
                ],
                "references": [
                    {
                        "tags": [
                            "vdb-entry",
                            "x_refsource_REDHAT"
                        ],
                        "url": "https://access.redhat.com/security/cve/CVE-2026-33940"
                    },
                    {
                        "name": "RHBZ#2452521",
                        "tags": [
                            "issue-tracking",
                            "x_refsource_REDHAT"
                        ],
                        "url": "https://bugzilla.redhat.com/show_bug.cgi?id=2452521"
                    },
                    {
                        "tags": [
                            "x_sadp-csaf-vex"
                        ],
                        "url": "https://security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-33940.json"
                    },
                    {
                        "tags": [
                            "vendor-advisory",
                            "x_refsource_REDHAT"
                        ],
                        "url": "https://access.redhat.com/errata/RHSA-2026:34342"
                    },
                    {
                        "tags": [
                            "vendor-advisory",
                            "x_refsource_REDHAT"
                        ],
                        "url": "https://access.redhat.com/errata/RHSA-2026:10175"
                    }
                ],
                "solutions": [
                    {
                        "lang": "en",
                        "value": "RHSA-2026:34342: Cluster Observability Operator 1.5.0"
                    },
                    {
                        "lang": "en",
                        "value": "RHSA-2026:10175: Red Hat OpenShift Dev Spaces 3.27"
                    }
                ],
                "timeline": [
                    {
                        "lang": "en",
                        "time": "2026-03-27T22:02:42.813Z",
                        "value": "Reported to Red Hat."
                    },
                    {
                        "lang": "en",
                        "time": "2026-03-27T21:11:10.719Z",
                        "value": "Made public."
                    }
                ],
                "title": "handlebars.js: Handlebars.js: Arbitrary code execution via crafted template context",
                "workarounds": [
                    {
                        "lang": "en",
                        "value": "To mitigate this issue, use the runtime-only build of Handlebars.js, which prevents the fallback compilation path from being reached. Alternatively, sanitize all context data before rendering to ensure no non-primitive objects are passed to dynamic partials. Avoid dynamic partial lookups (`{{> (lookup ...)}}`) when context data is user-controlled. Implementing these mitigations may require application-level changes."
                    }
                ],
                "x_adpType": "supplier",
                "x_generator": {
                    "engine": "sadp-cli 1.0.0"
                },
                "providerMetadata": {
                    "orgId": "0b0ca135-0b70-47e7-9f44-1890c2a1c46c",
                    "shortName": "redhat-SADP",
                    "dateUpdated": "2026-09-04T12:04:53.335Z"
                }
            }
        ]
    }
}