Every CVESearch/Get API key

CVE-2026-66010

DOMPurify before 3.4.12 Hook Bypass via CUSTOM_ELEMENT_HANDLING

5.1 MediumFix available

DOMPurify before 3.4.12 fails to execute afterSanitizeElements hook for custom elements allowed via CUSTOM_ELEMENT_HANDLING.tagNameCheck, allowing attributes to bypass application security policies. Attackers can preserve sensitive attributes on custom elements that later re-inject them into innerHTML sinks, creating second-order XSS gadgets.

Attack profile

How easy it is to exploit

Attack vector
Network
Complexity
Low
Privileges needed
None
User interaction
Active

What an attacker can affect

Confidentiality
None
Integrity
None
Availability
None

Exploit likelihood

0.21%Unchanged since Jul 25, 2026
90%50%10%1%

What each source reports

CVE List Score used5.1

DOMPurify before 3.4.12 Hook Bypass via CUSTOM_ELEMENT_HANDLING

DOMPurify before 3.4.12 fails to execute afterSanitizeElements hook for custom elements allowed via CUSTOM_ELEMENT_HANDLING.tagNameCheck, allowing attributes to bypass application security policies. Attackers can preserve sensitive attributes on custom elements that later re-inject them into innerHTML sinks, creating second-order XSS gadgets.

Record
CVE-2026-66010
CVSS 4.0
5.1 MediumCVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:A/VC:N/VI:N/VA:N/SC:L/SI:L/SA:N
CVSS 3.1
6.1 MediumCVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N
Weakness
CWE-79
Updated
2026-11-02
EUVDEUVD-2026-485825.1

DOMPurify before 3.4.12 fails to execute afterSanitizeElements hook for custom elements allowed via CUSTOM_ELEMENT_HANDLING.tagNameCheck, allowing attributes to bypass application security policies. Attackers can preserve sensitive attributes on custom elements that later re-inject them into innerHTML sinks, creating second-order XSS gadgets.

Record
EUVD-2026-48582
CVSS 4.0
5.1 MediumCVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:A/VC:N/VI:N/VA:N/SC:L/SI:L/SA:N
Updated
2026-11-02
GitHub AdvisoriesGHSA-2cf5-4w76-r9qv7.3

Arbitrary Code Execution in handlebars

Versions of handlebars prior to 3.0.8 or 4.5.2 are vulnerable to Arbitrary Code Execution. The package's lookup helper fails to properly validate templates, allowing attackers to submit templates that execute arbitrary JavaScript in the system. It can be used to run arbitrary code in a server processing Handlebars templates or on a victim's browser (effectively serving as Cross-Site Scripting).

The following template can be used to demonstrate the vulnerability:

	{{#with split as |a|}}
		{{pop (push "alert('Vulnerable Handlebars JS');")}}
		{{#with (concat (lookup join (slice 0 1)))}}
			{{#each (slice 2 3)}}
				{{#with (apply 0 a)}}
					{{.}}
				{{/with}}
			{{/each}}
		{{/with}}
	{{/with}}
{{/with}}```


## Recommendation

Upgrade to version 3.0.8, 4.5.2 or later.
Record
GHSA-2cf5-4w76-r9qv
CVSS 3.1
7.3 HighCVSS:3.1/AV:L/AC:L/PR:L/UI:R/S:C/C:L/I:H/A:L
Weakness
CWE-94
Updated
2026-11-02
GitHub AdvisoriesGHSA-c2j3-45gr-mqc42.1

DOMPurify: `CUSTOM_ELEMENT_HANDLING` bypasses `afterSanitizeElements` for allowed custom elements.

Summary

There is a possible hook-policy inconsistency in DOMPurify 3.4.11 involving CUSTOM_ELEMENT_HANDLING.

When a custom element is allowed via CUSTOM_ELEMENT_HANDLING.tagNameCheck, it appears that the element does not go through afterSanitizeElements in the same way as a normal element. As a result, an application that relies on afterSanitizeElements as a security policy layer to strip sensitive attributes from all elements may see those attributes removed from normal elements but preserved on allowed custom elements.

This does not appear to be a direct DOMPurify XSS or a case where DOMPurify directly allows executable payloads. The preserved value is still inert at sanitize time. The issue becomes relevant when the allowed custom element later re-injects that attribute value into an HTML sink such as innerHTML, creating a second-order XSS gadget.

Details

The issue appears to originate from the control flow in src/purify.ts: line 1672~1691

const _sanitizeDisallowedNode = function (
    currentNode: any,
    tagName: string
  ): boolean {
    /* Check if we have a custom element to handle */
    if (!FORBID_TAGS[tagName] && _isBasicCustomElement(tagName)) {
      if (
        CUSTOM_ELEMENT_HANDLING.tagNameCheck instanceof RegExp &&
        regExpTest(CUSTOM_ELEMENT_HANDLING.tagNameCheck, tagName)
      ) {
        return false;
      }

      if (
        CUSTOM_ELEMENT_HANDLING.tagNameCheck instanceof Function &&
        CUSTOM_ELEMENT_HANDLING.tagNameCheck(tagName)
      ) {
        return false;
      }
    }

CUSTOM_ELEMENT_HANDLING is parsed from user configuration at src/purify.ts: line 741~748

const customElementHandling =
      objectHasOwnProperty(cfg, 'CUSTOM_ELEMENT_HANDLING') &&
      cfg.CUSTOM_ELEMENT_HANDLING &&
      typeof cfg.CUSTOM_ELEMENT_HANDLING === 'object'
        ? clone(cfg.CUSTOM_ELEMENT_HANDLING)
        : create(null);

    CUSTOM_ELEMENT_HANDLING = create(null);

In particular, tagNameCheck, attributeNameCheck, and allowCustomizedBuiltInElements are copied into the internal CUSTOM_ELEMENT_HANDLING object there.

During element sanitization, _sanitizeElements() checks whether a node is forbidden or not allowlisted at src/purify.ts: line 1805~1814

/* Remove element if anything forbids its presence */
    if (
      FORBID_TAGS[tagName] ||
      (!(
        EXTRA_ELEMENT_HANDLING.tagCheck instanceof Function &&
        EXTRA_ELEMENT_HANDLING.tagCheck(tagName)
      ) &&
        !ALLOWED_TAGS[tagName])
    ) {
      return _sanitizeDisallowedNode(currentNode, tagName);
    }

If so, it immediately delegates to _sanitizeDisallowedNode(currentNode, tagName) and returns its boolean result.

Inside _sanitizeDisallowedNode(), the custom-element-specific allow path is implemented at src/purify.ts: line 1672~1692

const _sanitizeDisallowedNode = function (
    currentNode: any,
    tagName: string
  ): boolean {
    /* Check if we have a custom element to handle */
    if (!FORBID_TAGS[tagName] && _isBasicCustomElement(tagName)) {
      if (
        CUSTOM_ELEMENT_HANDLING.tagNameCheck instanceof RegExp &&
        regExpTest(CUSTOM_ELEMENT_HANDLING.tagNameCheck, tagName)
      ) {
        return false;
      }

      if (
        CUSTOM_ELEMENT_HANDLING.tagNameCheck instanceof Function &&
        CUSTOM_ELEMENT_HANDLING.tagNameCheck(tagName)
      ) {
        return false;
      }
    }

If the node is treated as a basic custom element and CUSTOM_ELEMENT_HANDLING.tagNameCheck matches, the function returns false immediately at line 1682 or 1689, meaning “do not remove this node”.

That early return false is significant because control returns directly to _sanitizeElements() via the return _sanitizeDisallowedNode(...) at line 1813. As a result, the later logic in _sanitizeElements() is skipped for that custom element instance, including:

  • the namespace validation at src/purify.ts: line 1816~1826 …
Record
GHSA-c2j3-45gr-mqc4
CVSS 4.0
2.1 LowCVSS:4.0/AV:N/AC:H/AT:N/PR:N/UI:A/VC:N/VI:N/VA:N/SC:L/SI:L/SA:N
Weakness
CWE-79, CWE-184, CWE-693
Updated
2026-11-02
GitHub AdvisoriesGHSA-jxrp-r7gx-q4j85.1

Duplicate Advisory: DOMPurify: `CUSTOM_ELEMENT_HANDLING` bypasses `afterSanitizeElements` for allowed custom elements.

Duplicate Advisory

This advisory has been withdrawn because it is a duplicate of GHSA-c2j3-45gr-mqc4. This link is maintained to preserve external references.

Original Description

DOMPurify before 3.4.12 fails to execute afterSanitizeElements hook for custom elements allowed via CUSTOM_ELEMENT_HANDLING.tagNameCheck, allowing attributes to bypass application security policies. Attackers can preserve sensitive attributes on custom elements that later re-inject them into innerHTML sinks, creating second-order XSS gadgets.

Record
GHSA-jxrp-r7gx-q4j8
CVSS 4.0
5.1 MediumCVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:A/VC:N/VI:N/VA:N/SC:L/SI:L/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
CVSS 3.1
6.1 MediumCVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N
Weakness
CWE-79
Updated
2026-11-02
GitHub AdvisoriesGHSA-q42p-pg8m-cqh67.3

Prototype Pollution in handlebars

Versions of handlebars prior to 4.0.14 are vulnerable to Prototype Pollution. Templates may alter an Objects' prototype, thus allowing an attacker to execute arbitrary code on the server.

Recommendation

For handlebars 4.1.x upgrade to 4.1.2 or later. For handlebars 4.0.x upgrade to 4.0.14 or later.

Record
GHSA-q42p-pg8m-cqh6
CVSS 3.1
7.3 HighCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:L
Weakness
CWE-471
Updated
2026-11-02
Show 53 moreShow less
GitHub AdvisoriesGHSA-g9r4-xpmj-mj65No score

Prototype Pollution in handlebars

Versions of handlebars prior to 3.0.8 or 4.5.3 are vulnerable to prototype pollution. It is possible to add or modify properties to the Object prototype through a malicious template. This may allow attackers to crash the application or execute Arbitrary Code in specific conditions.

Recommendation

Upgrade to version 3.0.8, 4.5.3 or later.

Record
GHSA-g9r4-xpmj-mj65
Weakness
CWE-1321
Updated
2026-11-02
GitHub AdvisoriesGHSA-q2c6-c6pm-g3ghNo score

Arbitrary Code Execution in handlebars

Versions of handlebars prior to 3.0.8 or 4.5.3 are vulnerable to Arbitrary Code Execution. The package's lookup helper fails to properly validate templates, allowing attackers to submit templates that execute arbitrary JavaScript in the system. It is due to an incomplete fix for a previous issue. This vulnerability can be used to run arbitrary code in a server processing Handlebars templates or on a victim's browser (effectively serving as Cross-Site Scripting).

Recommendation

Upgrade to version 3.0.8, 4.5.3 or later.

Record
GHSA-q2c6-c6pm-g3gh
Updated
2026-11-02
NVD5.1

DOMPurify before 3.4.12 fails to execute afterSanitizeElements hook for custom elements allowed via CUSTOM_ELEMENT_HANDLING.tagNameCheck, allowing attributes to bypass application security policies. Attackers can preserve sensitive attributes on custom elements that later re-inject them into innerHTML sinks, creating second-order XSS gadgets.

Record
CVE-2026-66010
CVSS 4.0
5.1 MediumCVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:A/VC:N/VI:N/VA:N/SC:L/SI:L/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
CVSS 3.1
6.1 MediumCVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N
Weakness
CWE-79
Updated
2026-11-02
OSV5.1

DOMPurify before 3.4.12 Hook Bypass via CUSTOM_ELEMENT_HANDLING

DOMPurify before 3.4.12 fails to execute afterSanitizeElements hook for custom elements allowed via CUSTOM_ELEMENT_HANDLING.tagNameCheck, allowing attributes to bypass application security policies. Attackers can preserve sensitive attributes on custom elements that later re-inject them into innerHTML sinks, creating second-order XSS gadgets.

Record
CVE-2026-66010
CVSS 4.0
5.1 MediumCVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:A/VC:N/VI:N/VA:N/SC:L/SI:L/SA:N
Weakness
CWE-79
Updated
2026-11-02
OSVDEBIAN-CVE-2026-660105.1

DOMPurify before 3.4.12 fails to execute afterSanitizeElements hook for custom elements allowed via CUSTOM_ELEMENT_HANDLING.tagNameCheck, allowing attributes to bypass application security policies. Attackers can preserve sensitive attributes on custom elements that later re-inject them into innerHTML sinks, creating second-order XSS gadgets.

Record
DEBIAN-CVE-2026-66010
CVSS 4.0
5.1 MediumCVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:A/VC:N/VI:N/VA:N/SC:L/SI:L/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
Updated
2026-11-02
OSVGHSA-2cf5-4w76-r9qv7.3

Arbitrary Code Execution in handlebars

Versions of handlebars prior to 3.0.8 or 4.5.2 are vulnerable to Arbitrary Code Execution. The package's lookup helper fails to properly validate templates, allowing attackers to submit templates that execute arbitrary JavaScript in the system. It can be used to run arbitrary code in a server processing Handlebars templates or on a victim's browser (effectively serving as Cross-Site Scripting).

The following template can be used to demonstrate the vulnerability:

	{{#with split as |a|}}
		{{pop (push "alert('Vulnerable Handlebars JS');")}}
		{{#with (concat (lookup join (slice 0 1)))}}
			{{#each (slice 2 3)}}
				{{#with (apply 0 a)}}
					{{.}}
				{{/with}}
			{{/each}}
		{{/with}}
	{{/with}}
{{/with}}```


## Recommendation

Upgrade to version 3.0.8, 4.5.2 or later.
Record
GHSA-2cf5-4w76-r9qv
CVSS 3.1
7.3 HighCVSS:3.1/AV:L/AC:L/PR:L/UI:R/S:C/C:L/I:H/A:L
Weakness
CWE-94
Updated
2026-11-02
OSVGHSA-c2j3-45gr-mqc42.1

DOMPurify: `CUSTOM_ELEMENT_HANDLING` bypasses `afterSanitizeElements` for allowed custom elements.

Summary

There is a possible hook-policy inconsistency in DOMPurify 3.4.11 involving CUSTOM_ELEMENT_HANDLING.

When a custom element is allowed via CUSTOM_ELEMENT_HANDLING.tagNameCheck, it appears that the element does not go through afterSanitizeElements in the same way as a normal element. As a result, an application that relies on afterSanitizeElements as a security policy layer to strip sensitive attributes from all elements may see those attributes removed from normal elements but preserved on allowed custom elements.

This does not appear to be a direct DOMPurify XSS or a case where DOMPurify directly allows executable payloads. The preserved value is still inert at sanitize time. The issue becomes relevant when the allowed custom element later re-injects that attribute value into an HTML sink such as innerHTML, creating a second-order XSS gadget.

Details

The issue appears to originate from the control flow in src/purify.ts: line 1672~1691

const _sanitizeDisallowedNode = function (
    currentNode: any,
    tagName: string
  ): boolean {
    /* Check if we have a custom element to handle */
    if (!FORBID_TAGS[tagName] && _isBasicCustomElement(tagName)) {
      if (
        CUSTOM_ELEMENT_HANDLING.tagNameCheck instanceof RegExp &&
        regExpTest(CUSTOM_ELEMENT_HANDLING.tagNameCheck, tagName)
      ) {
        return false;
      }

      if (
        CUSTOM_ELEMENT_HANDLING.tagNameCheck instanceof Function &&
        CUSTOM_ELEMENT_HANDLING.tagNameCheck(tagName)
      ) {
        return false;
      }
    }

CUSTOM_ELEMENT_HANDLING is parsed from user configuration at src/purify.ts: line 741~748

const customElementHandling =
      objectHasOwnProperty(cfg, 'CUSTOM_ELEMENT_HANDLING') &&
      cfg.CUSTOM_ELEMENT_HANDLING &&
      typeof cfg.CUSTOM_ELEMENT_HANDLING === 'object'
        ? clone(cfg.CUSTOM_ELEMENT_HANDLING)
        : create(null);

    CUSTOM_ELEMENT_HANDLING = create(null);

In particular, tagNameCheck, attributeNameCheck, and allowCustomizedBuiltInElements are copied into the internal CUSTOM_ELEMENT_HANDLING object there.

During element sanitization, _sanitizeElements() checks whether a node is forbidden or not allowlisted at src/purify.ts: line 1805~1814

/* Remove element if anything forbids its presence */
    if (
      FORBID_TAGS[tagName] ||
      (!(
        EXTRA_ELEMENT_HANDLING.tagCheck instanceof Function &&
        EXTRA_ELEMENT_HANDLING.tagCheck(tagName)
      ) &&
        !ALLOWED_TAGS[tagName])
    ) {
      return _sanitizeDisallowedNode(currentNode, tagName);
    }

If so, it immediately delegates to _sanitizeDisallowedNode(currentNode, tagName) and returns its boolean result.

Inside _sanitizeDisallowedNode(), the custom-element-specific allow path is implemented at src/purify.ts: line 1672~1692

const _sanitizeDisallowedNode = function (
    currentNode: any,
    tagName: string
  ): boolean {
    /* Check if we have a custom element to handle */
    if (!FORBID_TAGS[tagName] && _isBasicCustomElement(tagName)) {
      if (
        CUSTOM_ELEMENT_HANDLING.tagNameCheck instanceof RegExp &&
        regExpTest(CUSTOM_ELEMENT_HANDLING.tagNameCheck, tagName)
      ) {
        return false;
      }

      if (
        CUSTOM_ELEMENT_HANDLING.tagNameCheck instanceof Function &&
        CUSTOM_ELEMENT_HANDLING.tagNameCheck(tagName)
      ) {
        return false;
      }
    }

If the node is treated as a basic custom element and CUSTOM_ELEMENT_HANDLING.tagNameCheck matches, the function returns false immediately at line 1682 or 1689, meaning “do not remove this node”.

That early return false is significant because control returns directly to _sanitizeElements() via the return _sanitizeDisallowedNode(...) at line 1813. As a result, the later logic in _sanitizeElements() is skipped for that custom element instance, including:

  • the namespace validation at src/purify.ts: line 1816~1826 …
Record
GHSA-c2j3-45gr-mqc4
CVSS 4.0
2.1 LowCVSS:4.0/AV:N/AC:H/AT:N/PR:N/UI:A/VC:N/VI:N/VA:N/SC:L/SI:L/SA:N
Weakness
CWE-184, CWE-693, CWE-79
Updated
2026-11-02
OSVGHSA-jxrp-r7gx-q4j85.1

Duplicate Advisory: DOMPurify: `CUSTOM_ELEMENT_HANDLING` bypasses `afterSanitizeElements` for allowed custom elements.

Duplicate Advisory

This advisory has been withdrawn because it is a duplicate of GHSA-c2j3-45gr-mqc4. This link is maintained to preserve external references.

Original Description

DOMPurify before 3.4.12 fails to execute afterSanitizeElements hook for custom elements allowed via CUSTOM_ELEMENT_HANDLING.tagNameCheck, allowing attributes to bypass application security policies. Attackers can preserve sensitive attributes on custom elements that later re-inject them into innerHTML sinks, creating second-order XSS gadgets.

Record
GHSA-jxrp-r7gx-q4j8
CVSS 4.0
5.1 MediumCVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:A/VC:N/VI:N/VA:N/SC:L/SI:L/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
CVSS 3.1
6.1 MediumCVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N
Weakness
CWE-79
Updated
2026-11-02
OSVGHSA-q42p-pg8m-cqh67.3

Prototype Pollution in handlebars

Versions of handlebars prior to 4.0.14 are vulnerable to Prototype Pollution. Templates may alter an Objects' prototype, thus allowing an attacker to execute arbitrary code on the server.

Recommendation

For handlebars 4.1.x upgrade to 4.1.2 or later. For handlebars 4.0.x upgrade to 4.0.14 or later.

Record
GHSA-q42p-pg8m-cqh6
CVSS 3.1
7.3 HighCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:L
Weakness
CWE-471
Updated
2026-11-02
OSVUBUNTU-CVE-2026-660105.1

DOMPurify before 3.4.12 fails to execute afterSanitizeElements hook for custom elements allowed via CUSTOM_ELEMENT_HANDLING.tagNameCheck, allowing attributes to bypass application security policies. Attackers can preserve sensitive attributes on custom elements that later re-inject them into innerHTML sinks, creating second-order XSS gadgets.

Record
UBUNTU-CVE-2026-66010
CVSS 4.0
5.1 MediumCVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:A/VC:N/VI:N/VA:N/SC:L/SI:L/SA:N
CVSS 3.1
6.1 MediumCVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N
Updated
2026-11-02
OSVCLSA-2026-1774743817No score

TuxCare security update for handlebars (1 CVE)

TuxCare rebuilt handlebars to address 1 CVE. Fixed in 1.3.0-tuxcare.1.

Record
CLSA-2026-1774743817
Updated
2026-11-02
OSVCLSA-2026-1774743830No score

TuxCare security update for handlebars (3 CVEs)

TuxCare rebuilt handlebars to address 3 CVEs. Fixed in 1.0.12-tuxcare.2.

Record
CLSA-2026-1774743830
Updated
2026-11-02
OSVCLSA-2026-1784682987No score

TuxCare security update for dompurify (8 CVEs)

TuxCare rebuilt dompurify to address 8 CVEs. Fixed in 3.2.3-tuxcare.2.

Record
CLSA-2026-1784682987
Updated
2026-11-02
OSVCLSA-2026-1784769541No score

TuxCare security update for dompurify (1 CVE)

TuxCare rebuilt dompurify to address 1 CVE. Fixed in 3.0.3-tuxcare.3.

Record
CLSA-2026-1784769541
Updated
2026-11-02
OSVCLSA-2026-1784769611No score

TuxCare security update for dompurify (2 CVEs)

TuxCare rebuilt dompurify to address 2 CVEs. Fixed in 2.5.9-tuxcare.5.

Record
CLSA-2026-1784769611
Updated
2026-11-02
OSVCLSA-2026-1784856216No score

TuxCare security update for dompurify (3 CVEs)

TuxCare rebuilt dompurify to address 3 CVEs. Fixed in 2.5.8-tuxcare.6.

Record
CLSA-2026-1784856216
Updated
2026-11-02
OSVCLSA-2026-1784943203No score

TuxCare security update for dompurify (1 CVE)

TuxCare rebuilt dompurify to address 1 CVE. Fixed in 2.4.3-tuxcare.7.

Record
CLSA-2026-1784943203
Updated
2026-11-02
OSVCLSA-2026-1784943304No score

TuxCare security update for dompurify (1 CVE)

TuxCare rebuilt dompurify to address 1 CVE. Fixed in 2.4.0-tuxcare.4.

Record
CLSA-2026-1784943304
Updated
2026-11-02
OSVCLSA-2026-1786539981No score

TuxCare security update for dompurify (10 CVEs)

TuxCare rebuilt dompurify to address 10 CVEs. Fixed in 2.3.0-tuxcare.1.

Record
CLSA-2026-1786539981
Updated
2026-11-02
OSVCLSA-2026-1786636600No score

TuxCare security update for dompurify (16 CVEs)

TuxCare rebuilt dompurify to address 16 CVEs. Fixed in 2.4.0-tuxcare.1.

Record
CLSA-2026-1786636600
Updated
2026-11-02
OSVCLSA-2026-1786636613No score

TuxCare security update for dompurify (11 CVEs)

TuxCare rebuilt dompurify to address 11 CVEs. Fixed in 2.4.3-tuxcare.1.

Record
CLSA-2026-1786636613
Updated
2026-11-02
OSVCLSA-2026-1786636721No score

TuxCare security update for dompurify (14 CVEs)

TuxCare rebuilt dompurify to address 14 CVEs. Fixed in 2.4.7-tuxcare.1.

Record
CLSA-2026-1786636721
Updated
2026-11-02
OSVCLSA-2026-1786731853No score

TuxCare security update for dompurify (10 CVEs)

TuxCare rebuilt dompurify to address 10 CVEs. Fixed in 3.2.3-tuxcare.3.

Record
CLSA-2026-1786731853
Updated
2026-11-02
OSVCLSA-2026-1786731948No score

TuxCare security update for dompurify (34 CVEs)

TuxCare rebuilt dompurify to address 34 CVEs. Fixed in 3.0.3-tuxcare.1.

Record
CLSA-2026-1786731948
Updated
2026-11-02
OSVCLSA-2026-1786731971No score

TuxCare security update for dompurify (7 CVEs)

TuxCare rebuilt dompurify to address 7 CVEs. Fixed in 3.1.6-tuxcare.7.

Record
CLSA-2026-1786731971
Updated
2026-11-02
OSVCLSA-2026-1787602198No score

TuxCare security update for dompurify (10 CVEs)

TuxCare rebuilt dompurify to address 10 CVEs. Fixed in 3.2.7-tuxcare.1.

Record
CLSA-2026-1787602198
Updated
2026-11-02
OSVCLSA-2026-1789152222No score

TuxCare security update for dompurify (11 CVEs)

TuxCare rebuilt dompurify to address 11 CVEs. Fixed in 2.3.0-tuxcare.5.

Record
CLSA-2026-1789152222
Updated
2026-11-02
OSVCLSA-2026-1789153936No score

TuxCare security update for dompurify (9 CVEs)

TuxCare rebuilt dompurify to address 9 CVEs. Fixed in 2.4.0-tuxcare.5.

Record
CLSA-2026-1789153936
Updated
2026-11-02
OSVCLSA-2026-1789154068No score

TuxCare security update for dompurify (12 CVEs)

TuxCare rebuilt dompurify to address 12 CVEs. Fixed in 3.0.3-tuxcare.5.

Record
CLSA-2026-1789154068
Updated
2026-11-02
OSVCLSA-2026-1789154458No score

TuxCare security update for dompurify (9 CVEs)

TuxCare rebuilt dompurify to address 9 CVEs. Fixed in 2.4.7-tuxcare.5.

Record
CLSA-2026-1789154458
Updated
2026-11-02
OSVCLSA-2026-1789155659No score

TuxCare security update for dompurify (12 CVEs)

TuxCare rebuilt dompurify to address 12 CVEs. Fixed in 2.4.3-tuxcare.8.

Record
CLSA-2026-1789155659
Updated
2026-11-02
OSVCLSA-2026-1789400953No score

TuxCare security update for dompurify (4 CVEs)

TuxCare rebuilt dompurify to address 4 CVEs. Fixed in 3.2.7-tuxcare.3.

Record
CLSA-2026-1789400953
Updated
2026-11-02
OSVCLSA-2026-1789404783No score

TuxCare security update for dompurify (2 CVEs)

TuxCare rebuilt dompurify to address 2 CVEs. Fixed in 3.4.8-tuxcare.4.

Record
CLSA-2026-1789404783
Updated
2026-11-02
OSVCLSA-2026-1791798931No score

TuxCare security update for dompurify (1 CVE)

TuxCare rebuilt dompurify to address 1 CVE. Fixed in 3.4.11-tuxcare.1.

Record
CLSA-2026-1791798931
Updated
2026-11-02
OSVCLSA-2026-1791806751No score

TuxCare security update for dompurify (1 CVE)

TuxCare rebuilt dompurify to address 1 CVE. Fixed in 3.4.10-tuxcare.1.

Record
CLSA-2026-1791806751
Updated
2026-11-02
OSVCLSA-2026-1791815045No score

TuxCare security update for dompurify (1 CVE)

TuxCare rebuilt dompurify to address 1 CVE. Fixed in 3.4.9-tuxcare.1.

Record
CLSA-2026-1791815045
Updated
2026-11-02
OSVCLSA-2026-1791821569No score

TuxCare security update for dompurify (1 CVE)

TuxCare rebuilt dompurify to address 1 CVE. Fixed in 3.4.7-tuxcare.1.

Record
CLSA-2026-1791821569
Updated
2026-11-02
OSVCLSA-2026-1791825656No score

TuxCare security update for dompurify (1 CVE)

TuxCare rebuilt dompurify to address 1 CVE. Fixed in 3.4.6-tuxcare.1.

Record
CLSA-2026-1791825656
Updated
2026-11-02
OSVCLSA-2026-1791849797No score

TuxCare security update for dompurify (1 CVE)

TuxCare rebuilt dompurify to address 1 CVE. Fixed in 3.4.5-tuxcare.1.

Record
CLSA-2026-1791849797
Updated
2026-11-02
OSVCLSA-2026-1792155851No score

TuxCare security update for dompurify (12 CVEs)

TuxCare rebuilt dompurify to address 12 CVEs. Fixed in 3.1.3-tuxcare.2.

Record
CLSA-2026-1792155851
Updated
2026-11-02
OSVCLSA-2026-1792156267No score

TuxCare security update for dompurify (9 CVEs)

TuxCare rebuilt dompurify to address 9 CVEs. Fixed in 3.1.2-tuxcare.2.

Record
CLSA-2026-1792156267
Updated
2026-11-02
OSVCLSA-2026-1792156282No score

TuxCare security update for dompurify (11 CVEs)

TuxCare rebuilt dompurify to address 11 CVEs. Fixed in 3.1.4-tuxcare.2.

Record
CLSA-2026-1792156282
Updated
2026-11-02
OSVCLSA-2026-1792156382No score

TuxCare security update for dompurify (9 CVEs)

TuxCare rebuilt dompurify to address 9 CVEs. Fixed in 3.0.2-tuxcare.2.

Record
CLSA-2026-1792156382
Updated
2026-11-02
OSVCLSA-2026-1792156589No score

TuxCare security update for dompurify (10 CVEs)

TuxCare rebuilt dompurify to address 10 CVEs. Fixed in 3.0.9-tuxcare.2.

Record
CLSA-2026-1792156589
Updated
2026-11-02
OSVCLSA-2026-1792156694No score

TuxCare security update for dompurify (11 CVEs)

TuxCare rebuilt dompurify to address 11 CVEs. Fixed in 3.0.8-tuxcare.2.

Record
CLSA-2026-1792156694
Updated
2026-11-02
OSVCLSA-2026-1792156909No score

TuxCare security update for dompurify (10 CVEs)

TuxCare rebuilt dompurify to address 10 CVEs. Fixed in 3.0.1-tuxcare.2.

Record
CLSA-2026-1792156909
Updated
2026-11-02
OSVCLSA-2026-1792157013No score

TuxCare security update for dompurify (13 CVEs)

TuxCare rebuilt dompurify to address 13 CVEs. Fixed in 3.1.0-tuxcare.2.

Record
CLSA-2026-1792157013
Updated
2026-11-02
OSVCLSA-2026-1792157113No score

TuxCare security update for dompurify (12 CVEs)

TuxCare rebuilt dompurify to address 12 CVEs. Fixed in 3.0.11-tuxcare.2.

Record
CLSA-2026-1792157113
Updated
2026-11-02
OSVCLSA-2026-1792161408No score

TuxCare security update for dompurify (8 CVEs)

TuxCare rebuilt dompurify to address 8 CVEs. Fixed in 3.1.1-tuxcare.2.

Record
CLSA-2026-1792161408
Updated
2026-11-02
OSVCLSA-2026-1792161492No score

TuxCare security update for dompurify (10 CVEs)

TuxCare rebuilt dompurify to address 10 CVEs. Fixed in 3.2.6-tuxcare.2.

Record
CLSA-2026-1792161492
Updated
2026-11-02
OSVCLSA-2026-1792163693No score

TuxCare security update for dompurify (1 CVE)

TuxCare rebuilt dompurify to address 1 CVE. Fixed in 3.0.6-tuxcare.2.

Record
CLSA-2026-1792163693
Updated
2026-11-02
OSVCLSA-2026-1792424561No score

TuxCare security update for dompurify (9 CVEs)

TuxCare rebuilt dompurify to address 9 CVEs. Fixed in 3.3.3-tuxcare.3.

Record
CLSA-2026-1792424561
Updated
2026-11-02
OSVCLSA-2026-1792424891No score

TuxCare security update for dompurify (13 CVEs)

TuxCare rebuilt dompurify to address 13 CVEs. Fixed in 2.3.10-tuxcare.3.

Record
CLSA-2026-1792424891
Updated
2026-11-02

Affected products

Affected packages

Affected packages
PackageAffectedFixed
handlebars
npm
before 3.0.8
3.0.8
handlebars
npm
4.0.0 up to 4.5.2
4.5.2
dompurify
npm
through 3.4.11
3.4.12
handlebars
npm
4.0.0 up to 4.5.3
4.5.3
handlebars
npm
4.1.0 up to 4.1.2
4.1.2
handlebars
npm
4.0.0 up to 4.0.14
4.0.14
handlebars
npm
before 3.0.7
3.0.7
handlebars
TuxCare:npm
1.3.0-tuxcare.0 up to 1.3.0-tuxcare.1, plus listed versions
1.3.0
1.3.0-tuxcare.1
handlebars
TuxCare:npm
1.0.12-tuxcare.0 up to 1.0.12-tuxcare.2, plus listed versions
1.0.121.0.12-tuxcare.1
1.0.12-tuxcare.2
dompurify
TuxCare:npm
From an advisory covering 2 CVEs
3.2.3-tuxcare.0 up to 3.2.3-tuxcare.2, plus listed versions
3.2.33.2.3-tuxcare.1
3.2.3-tuxcare.2
Show 49 moreShow less
Affected packages
PackageAffectedFixed
dompurify
TuxCare:npm
3.0.3-tuxcare.0 up to 3.0.3-tuxcare.3, plus listed versions
3.0.33.0.3-tuxcare.13.0.3-tuxcare.2
3.0.3-tuxcare.3
dompurify
TuxCare:npm
2.5.9-tuxcare.0 up to 2.5.9-tuxcare.5, plus listed versions
2.5.92.5.9-tuxcare.12.5.9-tuxcare.22.5.9-tuxcare.32.5.9-tuxcare.4
2.5.9-tuxcare.5
dompurify
TuxCare:npm
From an advisory covering 2 CVEs
2.5.8-tuxcare.0 up to 2.5.8-tuxcare.6, plus listed versions
2.5.82.5.8-tuxcare.12.5.8-tuxcare.22.5.8-tuxcare.32.5.8-tuxcare.42.5.8-tuxcare.5
2.5.8-tuxcare.6
dompurify
TuxCare:npm
2.4.3-tuxcare.0 up to 2.4.3-tuxcare.7, plus listed versions
2.4.32.4.3-tuxcare.12.4.3-tuxcare.22.4.3-tuxcare.32.4.3-tuxcare.42.4.3-tuxcare.52.4.3-tuxcare.6
2.4.3-tuxcare.7
dompurify
TuxCare:npm
2.4.0-tuxcare.0 up to 2.4.0-tuxcare.4, plus listed versions
2.4.02.4.0-tuxcare.12.4.0-tuxcare.22.4.0-tuxcare.3
2.4.0-tuxcare.4
dompurify
TuxCare:npm
From an advisory covering 9 CVEs
3.2.3-tuxcare.0 up to 3.2.3-tuxcare.3, plus listed versions
3.2.33.2.3-tuxcare.13.2.3-tuxcare.2
3.2.3-tuxcare.3
dompurify
TuxCare:npm
From an advisory covering 6 CVEs
3.1.6-tuxcare.0 up to 3.1.6-tuxcare.7, plus listed versions
3.1.63.1.6-tuxcare.13.1.6-tuxcare.23.1.6-tuxcare.33.1.6-tuxcare.43.1.6-tuxcare.53.1.6-tuxcare.6
3.1.6-tuxcare.7
dompurify
TuxCare:npm
From an advisory covering 8 CVEs
3.2.7-tuxcare.0 up to 3.2.7-tuxcare.1, plus listed versions
3.2.7
3.2.7-tuxcare.1
dompurify
TuxCare:npm
From an advisory covering 10 CVEs
2.3.0-tuxcare.0 up to 2.3.0-tuxcare.5, plus listed versions
2.3.02.3.0-tuxcare.12.3.0-tuxcare.22.3.0-tuxcare.32.3.0-tuxcare.4
2.3.0-tuxcare.5
dompurify
TuxCare:npm
From an advisory covering 8 CVEs
2.4.0-tuxcare.0 up to 2.4.0-tuxcare.5, plus listed versions
2.4.02.4.0-tuxcare.12.4.0-tuxcare.22.4.0-tuxcare.32.4.0-tuxcare.4
2.4.0-tuxcare.5
dompurify
TuxCare:npm
From an advisory covering 11 CVEs
3.0.3-tuxcare.0 up to 3.0.3-tuxcare.5, plus listed versions
3.0.33.0.3-tuxcare.13.0.3-tuxcare.23.0.3-tuxcare.33.0.3-tuxcare.4
3.0.3-tuxcare.5
dompurify
TuxCare:npm
From an advisory covering 8 CVEs
2.4.7-tuxcare.0 up to 2.4.7-tuxcare.5, plus listed versions
2.4.72.4.7-tuxcare.12.4.7-tuxcare.22.4.7-tuxcare.32.4.7-tuxcare.4
2.4.7-tuxcare.5
dompurify
TuxCare:npm
From an advisory covering 11 CVEs
2.4.3-tuxcare.0 up to 2.4.3-tuxcare.8, plus listed versions
2.4.32.4.3-tuxcare.12.4.3-tuxcare.22.4.3-tuxcare.32.4.3-tuxcare.42.4.3-tuxcare.52.4.3-tuxcare.62.4.3-tuxcare.7
2.4.3-tuxcare.8
dompurify
TuxCare:npm
From an advisory covering 4 CVEs
3.2.7-tuxcare.0 up to 3.2.7-tuxcare.3, plus listed versions
3.2.73.2.7-tuxcare.13.2.7-tuxcare.2
3.2.7-tuxcare.3
dompurify
TuxCare:npm
From an advisory covering 2 CVEs
3.4.8-tuxcare.0 up to 3.4.8-tuxcare.4, plus listed versions
3.4.83.4.8-tuxcare.13.4.8-tuxcare.23.4.8-tuxcare.3
3.4.8-tuxcare.4
dompurify
TuxCare:npm
3.4.11-tuxcare.0 up to 3.4.11-tuxcare.1, plus listed versions
3.4.11
3.4.11-tuxcare.1
dompurify
TuxCare:npm
3.4.10-tuxcare.0 up to 3.4.10-tuxcare.1, plus listed versions
3.4.10
3.4.10-tuxcare.1
dompurify
TuxCare:npm
3.4.9-tuxcare.0 up to 3.4.9-tuxcare.1, plus listed versions
3.4.9
3.4.9-tuxcare.1
dompurify
TuxCare:npm
3.4.7-tuxcare.0 up to 3.4.7-tuxcare.1, plus listed versions
3.4.7
3.4.7-tuxcare.1
dompurify
TuxCare:npm
3.4.6-tuxcare.0 up to 3.4.6-tuxcare.1, plus listed versions
3.4.6
3.4.6-tuxcare.1
dompurify
TuxCare:npm
3.4.5-tuxcare.0 up to 3.4.5-tuxcare.1, plus listed versions
3.4.5
3.4.5-tuxcare.1
dompurify
TuxCare:npm
From an advisory covering 12 CVEs
3.1.3-tuxcare.0 up to 3.1.3-tuxcare.2, plus listed versions
3.1.33.1.3-tuxcare.1
3.1.3-tuxcare.2
dompurify
TuxCare:npm
From an advisory covering 9 CVEs
3.1.2-tuxcare.0 up to 3.1.2-tuxcare.2, plus listed versions
3.1.23.1.2-tuxcare.1
3.1.2-tuxcare.2
dompurify
TuxCare:npm
From an advisory covering 11 CVEs
3.1.4-tuxcare.0 up to 3.1.4-tuxcare.2, plus listed versions
3.1.43.1.4-tuxcare.1
3.1.4-tuxcare.2
dompurify
TuxCare:npm
From an advisory covering 9 CVEs
3.0.2-tuxcare.0 up to 3.0.2-tuxcare.2, plus listed versions
3.0.23.0.2-tuxcare.1
3.0.2-tuxcare.2
dompurify
TuxCare:npm
From an advisory covering 10 CVEs
3.0.9-tuxcare.0 up to 3.0.9-tuxcare.2, plus listed versions
3.0.93.0.9-tuxcare.1
3.0.9-tuxcare.2
dompurify
TuxCare:npm
From an advisory covering 11 CVEs
3.0.8-tuxcare.0 up to 3.0.8-tuxcare.2, plus listed versions
3.0.83.0.8-tuxcare.1
3.0.8-tuxcare.2
dompurify
TuxCare:npm
From an advisory covering 10 CVEs
3.0.1-tuxcare.0 up to 3.0.1-tuxcare.2, plus listed versions
3.0.13.0.1-tuxcare.1
3.0.1-tuxcare.2
dompurify
TuxCare:npm
From an advisory covering 13 CVEs
3.1.0-tuxcare.0 up to 3.1.0-tuxcare.2, plus listed versions
3.1.03.1.0-tuxcare.1
3.1.0-tuxcare.2
dompurify
TuxCare:npm
From an advisory covering 12 CVEs
3.0.11-tuxcare.0 up to 3.0.11-tuxcare.2, plus listed versions
3.0.113.0.11-tuxcare.1
3.0.11-tuxcare.2
dompurify
TuxCare:npm
From an advisory covering 8 CVEs
3.1.1-tuxcare.0 up to 3.1.1-tuxcare.2, plus listed versions
3.1.13.1.1-tuxcare.1
3.1.1-tuxcare.2
dompurify
TuxCare:npm
From an advisory covering 10 CVEs
3.2.6-tuxcare.0 up to 3.2.6-tuxcare.2, plus listed versions
3.2.63.2.6-tuxcare.1
3.2.6-tuxcare.2
dompurify
TuxCare:npm
3.0.6-tuxcare.0 up to 3.0.6-tuxcare.2, plus listed versions
3.0.63.0.6-tuxcare.1
3.0.6-tuxcare.2
dompurify
TuxCare:npm
From an advisory covering 9 CVEs
3.3.3-tuxcare.0 up to 3.3.3-tuxcare.3, plus listed versions
3.3.33.3.3-tuxcare.13.3.3-tuxcare.2
3.3.3-tuxcare.3
dompurify
TuxCare:npm
From an advisory covering 13 CVEs
2.3.10-tuxcare.0 up to 2.3.10-tuxcare.3, plus listed versions
2.3.102.3.10-tuxcare.12.3.10-tuxcare.2
2.3.10-tuxcare.3
dompurify
TuxCare:npm
From an advisory covering 5 CVEs
3.0.5-tuxcare.0 up to 3.0.5-tuxcare.2, plus listed versions
3.0.53.0.5-tuxcare.1
3.0.5-tuxcare.2
dompurify
TuxCare:npm
From an advisory covering 5 CVEs
3.0.4-tuxcare.0 up to 3.0.4-tuxcare.2, plus listed versions
3.0.43.0.4-tuxcare.1
3.0.4-tuxcare.2
dompurify
TuxCare:npm
From an advisory covering 9 CVEs
3.4.0-tuxcare.0 up to 3.4.0-tuxcare.1, plus listed versions
3.4.0
3.4.0-tuxcare.1
node-dompurify
Debian:12
All versions, plus listed versions
2.4.1+dfsg+~2.4.0-12.4.1+dfsg+~2.4.0-22.4.1+dfsg+~2.4.0-2+deb12u13.0.9+dfsg+~3.0.5-13.1.6+dfsg+~3.0.5-1
Show 13 moreShow less
3.1.7+dfsg+~3.0.5-13.1.7+dfsg+~3.0.5-23.2.5+dfsg-13.3.2+dfsg-13.3.3+dfsg-13.3.3+dfsg-23.4.1+dfsg-13.4.12+dfsg-13.4.13+dfsg-13.4.13+dfsg-23.4.16+dfsg-13.4.2+dfsg-13.4.5+dfsg-1
None known
node-dompurify
Debian:13
All versions, plus listed versions
3.1.7+dfsg+~3.0.5-23.2.5+dfsg-13.3.2+dfsg-13.3.3+dfsg-13.3.3+dfsg-2
Show 7 moreShow less
3.4.1+dfsg-13.4.12+dfsg-13.4.13+dfsg-13.4.13+dfsg-23.4.16+dfsg-13.4.2+dfsg-13.4.5+dfsg-1
None known
node-dompurify
Debian:14
before 3.4.12+dfsg-1, plus listed versions
3.1.7+dfsg+~3.0.5-23.2.5+dfsg-13.3.2+dfsg-13.3.3+dfsg-13.3.3+dfsg-23.4.1+dfsg-13.4.2+dfsg-13.4.5+dfsg-1
3.4.12+dfsg-1
dompurify
npm
before 3.4.12
3.4.12
handlebars
Root:npm
before 3.0.7-aikido.3
3.0.7-aikido.33.0.3-aikido.23.0.8-aikido.13.0.8-aikido.2
@rootio/handlebars
Root:npm
before 3.0.7-root.io.3
3.0.7-root.io.33.0.3-root.io.23.0.8-root.io.13.0.8-root.io.2
handlebars
Root:npm
before 3.0.3-aikido.2
3.0.3-aikido.23.0.7-aikido.13.0.7-aikido.23.0.7-aikido.3
@rootio/handlebars
Root:npm
before 3.0.3-root.io.2
3.0.3-root.io.23.0.7-root.io.13.0.7-root.io.23.0.7-root.io.3
node-dompurify
Ubuntu:22.04:LTS
All versions, plus listed versions
2.3.0+dfsg-22.3.3+dfsg-1
None known
node-dompurify
Ubuntu:24.04:LTS
All versions, plus listed versions
2.4.1+dfsg+~2.4.0-13.0.9+dfsg+~3.0.5-1
None known
node-dompurify
Ubuntu:26.04:LTS
All versions, plus listed versions
3.1.7+dfsg+~3.0.5-23.3.3+dfsg-1
None known

History

History
RecordedChangedSources
affected, aliases, cwes, references
affected
facts
affected
first indexedCVE List, EUVD, GitHub Advisories, NVD, OSV

Dates are when Every CVE recorded each change. Upstream dates may differ.

In short

CVE-2026-66010 is a medium vulnerability (CVSS 5.1) in Cure53 Dompurify, published June 5, 2019. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 0.21%, the 12th percentile. Fixed in handlebars 3.0.8.

References

Show 21 moreShow less
This page doesn't list everything

Left out here: the rest of 2 source descriptions. The JSON record has them. Left out on purpose, here and in the API, to keep responses small: 9 source records.

MoveEnter Open