Every CVESearch/Get API key

CVE-2026-65898

DOMPurify before 3.4.11 Permanent Attribute Allowlist Pollution via setConfig

5.1 MediumFix available

DOMPurify before 3.4.11 fails to clone the ALLOWED_ATTR allowlist when setConfig() is used with an uponSanitizeAttribute hook, allowing the hook to permanently mutate the shared allowlist. Attackers can register a hook that conditionally allows dangerous attributes like onerror for trusted elements, then submit untrusted content that inherits the polluted allowlist and executes event handlers as stored XSS.

Attack profile

How easy it is to exploit

Attack vector
Network
Complexity
Low
Privileges needed
Low
User interaction
Passive

What an attacker can affect

Confidentiality
None
Integrity
None
Availability
None

Exploit likelihood

0.21%Up 0.1 points since Jul 24, 2026
90%50%10%1%

What each source reports

CVE List Score used5.1

DOMPurify before 3.4.11 Permanent Attribute Allowlist Pollution via setConfig

DOMPurify before 3.4.11 fails to clone the ALLOWED_ATTR allowlist when setConfig() is used with an uponSanitizeAttribute hook, allowing the hook to permanently mutate the shared allowlist. Attackers can register a hook that conditionally allows dangerous attributes like onerror for trusted elements, then submit untrusted content that inherits the polluted allowlist and executes event handlers as stored XSS.

Record
CVE-2026-65898
CVSS 4.0
5.1 MediumCVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:P/VC:N/VI:N/VA:N/SC:L/SI:L/SA:N
CVSS 3.1
7.2 HighCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:L/I:L/A:N
Weakness
CWE-79
Updated
2026-11-02
EUVDEUVD-2026-482865.1

DOMPurify before 3.4.11 fails to clone the ALLOWED_ATTR allowlist when setConfig() is used with an uponSanitizeAttribute hook, allowing the hook to permanently mutate the shared allowlist. Attackers can register a hook that conditionally allows dangerous attributes like onerror for trusted elements, then submit untrusted content that inherits the polluted allowlist and executes event handlers as stored XSS.

Record
EUVD-2026-48286
CVSS 4.0
5.1 MediumCVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:P/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-55q2-fjhq-7xh75.1

DOMPurify: IN_PLACE hook removal leaves a detached subtree executable, causing XSS

Summary

During IN_PLACE sanitization, a hook that removes an element can leave that element's detached descendants executable. A descendant image can retain its attacker-provided onload handler and fire after sanitize() returns, even though the returned root is clean and the image remains disconnected from the document.

Details

In DOMPurify 3.4.12, _sanitizeElements() in src/purify.ts:1862-1904 runs the beforeSanitizeElements or uponSanitizeElement hook and returns immediately when the hook detached the current node. The return does not call _neutralizeSubtree(currentNode).

The detached subtree is not added to DOMPurify.removed, so the post-walk IN_PLACE neutralization cannot reach it. If the browser queued a resource event while the application constructed the detached dirty root, a descendant can therefore retain its handler and execute after sanitization.

The hook only rejects the containing element and does not add or approve the event handler. DOMPurify's ordinary removal path de-arms the same queued event; only the hook-detachment early return skips the existing subtree neutralization.

PoC

Load the published dompurify@3.4.12 dist/purify.js before this script in Chromium:

<div id="result">not fired</div>
<script>
const root = document.createElement('div');
root.innerHTML = `
  <footer>
    <img src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7"
         onload="result.textContent = 'XSS after sanitize'">
  </footer>
  <div>safe</div>`;

DOMPurify.setConfig({
  ALLOWED_TAGS: ['div', '#text', 'footer'],
  IN_PLACE: true
});
DOMPurify.addHook('uponSanitizeElement', node => {
  if (node.tagName === 'FOOTER') node.remove();
});

DOMPurify.sanitize(root);
document.body.append(root);
</script>

sanitize() returns with no handler execution and the returned root contains only the safe div. After the event loop advances, the original image remains disconnected but its retained onload changes the page to XSS after sanitize.

As the claim-matched control, use the same detached input with ALLOWED_TAGS: ['div', '#text'] and no hook. DOMPurify's ordinary removal path removes the original image's handler, the returned root is still <div>safe</div>, and the marker does not fire.

Impact

In an application that uses IN_PLACE with the documented element-removal hook pattern, an attacker who can supply HTML can execute JavaScript in the integrating application's origin after the application sanitizes and renders that content.

The required non-default configuration is IN_PLACE plus a hook that removes a containing element. The hook does not add or approve the event handler, and the dirty root never needs to be connected before sanitization.

Suggested fix

Reuse the existing _neutralizeSubtree(currentNode) helper before returning from both hook-detachment branches in _sanitizeElements(). Add regressions for beforeSanitizeElements and uponSanitizeElement that retain a reference to a descendant resource element and verify that its event handler is removed after the hook detaches its ancestor.

Record
GHSA-55q2-fjhq-7xh7
CVSS 4.0
5.1 MediumCVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:P/VC:N/VI:N/VA:N/SC:L/SI:L/SA:N
Weakness
CWE-79
Updated
2026-11-02
GitHub AdvisoriesGHSA-cmwh-pvxp-88825.1

DOMPurify: Permanent `ALLOWED_ATTR` pollution via `setConfig()` bypassing the hook clone-guard (incomplete fix of the 3.4.7 hook-pollution patch)

Summary

DOMPurify 3.4.7 shipped a security fix ("permanent hook pollution") that makes a registered uponSanitizeAttribute hook's mutation of data.allowedAttributes non-persistent — so allowing an attribute for one element does not leak into later sanitize() calls. The fix clones ALLOWED_ATTR inside _parseConfig.

That guard is silently bypassed whenever the application uses the persistent-config API DOMPurify.setConfig(). setConfig() sets the module flag SET_CONFIG = true, which causes sanitize() to skip _parseConfig entirely — and the clone-guard lives inside _parseConfig. The hook is then handed the live, shared ALLOWED_ATTR object; any data.allowedAttributes[name] = true it writes mutates that shared object permanently, for the lifetime of the DOMPurify instance, across every subsequent call, and across all elements.

If an application uses setConfig() together with an uponSanitizeAttribute hook that conditionally allows a dangerous attribute (onerror, onclick, onmouseover, srcdoc, formaction, …) for "trusted" elements, then one trusted render permanently allows that attribute on untrusted, attacker-controlled content — yielding stored XSS in viewers' browsers. DOMPurify applies no separate /^on/ event-handler blocklist: attribute stripping is governed entirely by the allowlist, so a polluted allowlist is the only gate, and survival in the output is final.


Affected configuration (preconditions)

The vulnerability is triggered when an application does both:

  1. Calls DOMPurify.setConfig(...) once (the recommended pattern for a fixed, persistent policy), and
  2. Registers an uponSanitizeAttribute hook that writes data.allowedAttributes[name] = true to conditionally allow an attribute (e.g. only for elements bearing a trust marker).

This hook pattern is demonstrated in DOMPurify's own test suite, and the per-call variant of exactly this leak is what 3.4.7 was released to fix.


Root cause (source: src/purify.ts, v3.4.10)

The 3.4.7 clone-guard — only inside _parseConfig:

// src/purify.ts  _parseConfig()  (lines ~950-968)
// "if a hook is registered AND the set still points at the default constant, clone it.
//  The hook then mutates the clone ... and the next default-cfg call rebinds to the untouched original."
if ( ... && hooks.uponSanitizeAttribute.length > 0) {
  ALLOWED_TAGS = clone(ALLOWED_TAGS);          // line 961
}
if ( ... hooks.uponSanitizeAttribute.length > 0 ... ) {
  ALLOWED_ATTR = clone(ALLOWED_ATTR);          // line 968
}

sanitize() skips _parseConfig on the persistent-config path:

// src/purify.ts  DOMPurify.sanitize()  (line 2369)
if (!SET_CONFIG) {
  _parseConfig(cfg);          // <-- clone-guard lives in here; SKIPPED when SET_CONFIG is true
}

setConfig() sets the flag that disables the guard:

// src/purify.ts  (lines 2596-2598)
DOMPurify.setConfig = function (cfg = {}) {
  _parseConfig(cfg);
  SET_CONFIG = true;          // every later sanitize() now skips _parseConfig
};

The hook is handed the live allowlist binding, and there is no secondary event-handler defense:

// src/purify.ts (line 2088) — hook event exposes the shared object by reference
allowedAttributes: ALLOWED_ATTR,
// (line 2108) hooks.uponSanitizeAttribute executed; a write to data.allowedAttributes mutates ALLOWED_ATTR itself
// _isValidAttribute gates purely on ALLOWED_ATTR[lcName]; DOMPurify uses NO /^on/ blocklist by design.

Net: after setConfig(), the clone-guard never runs, so the hook's allowedAttributes mutation is a permanent write to the instance's shared ALLOWED_ATTR.


Proof of Concept

Environment: npm i dompurify@3.4.10 jsdom (Node; identical mechanism to isomorphic-dompurify, and to a browser instance).

PoC 1 — the leak (trusted render permanently allows onerror on attacker content)

const createDOMPurify =…
Record
GHSA-cmwh-pvxp-8882
CVSS 4.0
5.1 MediumCVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:P/VC:N/VI:N/VA:N/SC:L/SI:L/SA:N
Weakness
CWE-79, CWE-471, CWE-665
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.11 fails to clone the ALLOWED_ATTR allowlist when setConfig() is used with an uponSanitizeAttribute hook, allowing the hook to permanently mutate the shared allowlist. Attackers can register a hook that conditionally allows dangerous attributes like onerror for trusted elements, then submit untrusted content that inherits the polluted allowlist and executes event handlers as stored XSS.

Record
CVE-2026-65898
CVSS 4.0
5.1 MediumCVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:P/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
7.2 HighCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:L/I:L/A:N
Weakness
CWE-79
Updated
2026-11-02
OSV5.1

DOMPurify before 3.4.11 Permanent Attribute Allowlist Pollution via setConfig

DOMPurify before 3.4.11 fails to clone the ALLOWED_ATTR allowlist when setConfig() is used with an uponSanitizeAttribute hook, allowing the hook to permanently mutate the shared allowlist. Attackers can register a hook that conditionally allows dangerous attributes like onerror for trusted elements, then submit untrusted content that inherits the polluted allowlist and executes event handlers as stored XSS.

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

DOMPurify before 3.4.11 fails to clone the ALLOWED_ATTR allowlist when setConfig() is used with an uponSanitizeAttribute hook, allowing the hook to permanently mutate the shared allowlist. Attackers can register a hook that conditionally allows dangerous attributes like onerror for trusted elements, then submit untrusted content that inherits the polluted allowlist and executes event handlers as stored XSS.

Record
DEBIAN-CVE-2026-65898
CVSS 4.0
5.1 MediumCVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:P/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-55q2-fjhq-7xh75.1

DOMPurify: IN_PLACE hook removal leaves a detached subtree executable, causing XSS

Summary

During IN_PLACE sanitization, a hook that removes an element can leave that element's detached descendants executable. A descendant image can retain its attacker-provided onload handler and fire after sanitize() returns, even though the returned root is clean and the image remains disconnected from the document.

Details

In DOMPurify 3.4.12, _sanitizeElements() in src/purify.ts:1862-1904 runs the beforeSanitizeElements or uponSanitizeElement hook and returns immediately when the hook detached the current node. The return does not call _neutralizeSubtree(currentNode).

The detached subtree is not added to DOMPurify.removed, so the post-walk IN_PLACE neutralization cannot reach it. If the browser queued a resource event while the application constructed the detached dirty root, a descendant can therefore retain its handler and execute after sanitization.

The hook only rejects the containing element and does not add or approve the event handler. DOMPurify's ordinary removal path de-arms the same queued event; only the hook-detachment early return skips the existing subtree neutralization.

PoC

Load the published dompurify@3.4.12 dist/purify.js before this script in Chromium:

<div id="result">not fired</div>
<script>
const root = document.createElement('div');
root.innerHTML = `
  <footer>
    <img src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7"
         onload="result.textContent = 'XSS after sanitize'">
  </footer>
  <div>safe</div>`;

DOMPurify.setConfig({
  ALLOWED_TAGS: ['div', '#text', 'footer'],
  IN_PLACE: true
});
DOMPurify.addHook('uponSanitizeElement', node => {
  if (node.tagName === 'FOOTER') node.remove();
});

DOMPurify.sanitize(root);
document.body.append(root);
</script>

sanitize() returns with no handler execution and the returned root contains only the safe div. After the event loop advances, the original image remains disconnected but its retained onload changes the page to XSS after sanitize.

As the claim-matched control, use the same detached input with ALLOWED_TAGS: ['div', '#text'] and no hook. DOMPurify's ordinary removal path removes the original image's handler, the returned root is still <div>safe</div>, and the marker does not fire.

Impact

In an application that uses IN_PLACE with the documented element-removal hook pattern, an attacker who can supply HTML can execute JavaScript in the integrating application's origin after the application sanitizes and renders that content.

The required non-default configuration is IN_PLACE plus a hook that removes a containing element. The hook does not add or approve the event handler, and the dirty root never needs to be connected before sanitization.

Suggested fix

Reuse the existing _neutralizeSubtree(currentNode) helper before returning from both hook-detachment branches in _sanitizeElements(). Add regressions for beforeSanitizeElements and uponSanitizeElement that retain a reference to a descendant resource element and verify that its event handler is removed after the hook detaches its ancestor.

Record
GHSA-55q2-fjhq-7xh7
CVSS 4.0
5.1 MediumCVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:P/VC:N/VI:N/VA:N/SC:L/SI:L/SA:N
Weakness
CWE-79
Updated
2026-11-02
OSVGHSA-cmwh-pvxp-88825.1

DOMPurify: Permanent `ALLOWED_ATTR` pollution via `setConfig()` bypassing the hook clone-guard (incomplete fix of the 3.4.7 hook-pollution patch)

Summary

DOMPurify 3.4.7 shipped a security fix ("permanent hook pollution") that makes a registered uponSanitizeAttribute hook's mutation of data.allowedAttributes non-persistent — so allowing an attribute for one element does not leak into later sanitize() calls. The fix clones ALLOWED_ATTR inside _parseConfig.

That guard is silently bypassed whenever the application uses the persistent-config API DOMPurify.setConfig(). setConfig() sets the module flag SET_CONFIG = true, which causes sanitize() to skip _parseConfig entirely — and the clone-guard lives inside _parseConfig. The hook is then handed the live, shared ALLOWED_ATTR object; any data.allowedAttributes[name] = true it writes mutates that shared object permanently, for the lifetime of the DOMPurify instance, across every subsequent call, and across all elements.

If an application uses setConfig() together with an uponSanitizeAttribute hook that conditionally allows a dangerous attribute (onerror, onclick, onmouseover, srcdoc, formaction, …) for "trusted" elements, then one trusted render permanently allows that attribute on untrusted, attacker-controlled content — yielding stored XSS in viewers' browsers. DOMPurify applies no separate /^on/ event-handler blocklist: attribute stripping is governed entirely by the allowlist, so a polluted allowlist is the only gate, and survival in the output is final.


Affected configuration (preconditions)

The vulnerability is triggered when an application does both:

  1. Calls DOMPurify.setConfig(...) once (the recommended pattern for a fixed, persistent policy), and
  2. Registers an uponSanitizeAttribute hook that writes data.allowedAttributes[name] = true to conditionally allow an attribute (e.g. only for elements bearing a trust marker).

This hook pattern is demonstrated in DOMPurify's own test suite, and the per-call variant of exactly this leak is what 3.4.7 was released to fix.


Root cause (source: src/purify.ts, v3.4.10)

The 3.4.7 clone-guard — only inside _parseConfig:

// src/purify.ts  _parseConfig()  (lines ~950-968)
// "if a hook is registered AND the set still points at the default constant, clone it.
//  The hook then mutates the clone ... and the next default-cfg call rebinds to the untouched original."
if ( ... && hooks.uponSanitizeAttribute.length > 0) {
  ALLOWED_TAGS = clone(ALLOWED_TAGS);          // line 961
}
if ( ... hooks.uponSanitizeAttribute.length > 0 ... ) {
  ALLOWED_ATTR = clone(ALLOWED_ATTR);          // line 968
}

sanitize() skips _parseConfig on the persistent-config path:

// src/purify.ts  DOMPurify.sanitize()  (line 2369)
if (!SET_CONFIG) {
  _parseConfig(cfg);          // <-- clone-guard lives in here; SKIPPED when SET_CONFIG is true
}

setConfig() sets the flag that disables the guard:

// src/purify.ts  (lines 2596-2598)
DOMPurify.setConfig = function (cfg = {}) {
  _parseConfig(cfg);
  SET_CONFIG = true;          // every later sanitize() now skips _parseConfig
};

The hook is handed the live allowlist binding, and there is no secondary event-handler defense:

// src/purify.ts (line 2088) — hook event exposes the shared object by reference
allowedAttributes: ALLOWED_ATTR,
// (line 2108) hooks.uponSanitizeAttribute executed; a write to data.allowedAttributes mutates ALLOWED_ATTR itself
// _isValidAttribute gates purely on ALLOWED_ATTR[lcName]; DOMPurify uses NO /^on/ blocklist by design.

Net: after setConfig(), the clone-guard never runs, so the hook's allowedAttributes mutation is a permanent write to the instance's shared ALLOWED_ATTR.


Proof of Concept

Environment: npm i dompurify@3.4.10 jsdom (Node; identical mechanism to isomorphic-dompurify, and to a browser instance).

PoC 1 — the leak (trusted render permanently allows onerror on attacker content)

const createDOMPurify =…
Record
GHSA-cmwh-pvxp-8882
CVSS 4.0
5.1 MediumCVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:P/VC:N/VI:N/VA:N/SC:L/SI:L/SA:N
Weakness
CWE-471, CWE-665, 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
OSVRHSA-2026:585006.1

Red Hat Security Advisory: Red Hat Hardened Images RPMs Security Update

Record
RHSA-2026:58500
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
OSVRHSA-2026:585026.1

Red Hat Security Advisory: Red Hat Hardened Images RPMs bug fix and enhancement update

Record
RHSA-2026:58502
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
OSVUBUNTU-CVE-2026-658985.1

DOMPurify before 3.4.11 fails to clone the ALLOWED_ATTR allowlist when setConfig() is used with an uponSanitizeAttribute hook, allowing the hook to permanently mutate the shared allowlist. Attackers can register a hook that conditionally allows dangerous attributes like onerror for trusted elements, then submit untrusted content that inherits the polluted allowlist and executes event handlers as stored XSS.

Record
UBUNTU-CVE-2026-65898
CVSS 4.0
5.1 MediumCVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:P/VC:N/VI:N/VA:N/SC:L/SI:L/SA:N
CVSS 3.1
7.2 HighCVSS:3.1/AV:N/AC:L/PR:N/UI:N/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-1784509816No score

TuxCare security update for dompurify (5 CVEs)

TuxCare rebuilt dompurify to address 5 CVEs. Fixed in 2.5.8-tuxcare.4.

Record
CLSA-2026-1784509816
Updated
2026-11-02
OSVCLSA-2026-1784596279No score

TuxCare security update for dompurify (7 CVEs)

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

Record
CLSA-2026-1784596279
Updated
2026-11-02
OSVCLSA-2026-1784596280No score

TuxCare security update for dompurify (1 CVE)

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

Record
CLSA-2026-1784596280
Updated
2026-11-02
OSVCLSA-2026-1784596304No score

TuxCare security update for dompurify (1 CVE)

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

Record
CLSA-2026-1784596304
Updated
2026-11-02
OSVCLSA-2026-1784596347No score

TuxCare security update for dompurify (1 CVE)

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

Record
CLSA-2026-1784596347
Updated
2026-11-02
OSVCLSA-2026-1784682972No score

TuxCare security update for dompurify (1 CVE)

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

Record
CLSA-2026-1784682972
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-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-1787602039No score

TuxCare security update for dompurify (2 CVEs)

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

Record
CLSA-2026-1787602039
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-1789155876No score

TuxCare security update for dompurify (8 CVEs)

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

Record
CLSA-2026-1789155876
Updated
2026-11-02
OSVCLSA-2026-1792150209No score

TuxCare security update for dompurify (9 CVEs)

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

Record
CLSA-2026-1792150209
Updated
2026-11-02
OSVCLSA-2026-1792154118No score

TuxCare security update for dompurify (2 CVEs)

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

Record
CLSA-2026-1792154118
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-1792155956No score

TuxCare security update for dompurify (5 CVEs)

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

Record
CLSA-2026-1792155956
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-1792156500No score

TuxCare security update for dompurify (6 CVEs)

TuxCare rebuilt dompurify to address 6 CVEs. Fixed in 2.0.8-tuxcare.2.

Record
CLSA-2026-1792156500
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-1792156803No score

TuxCare security update for dompurify (5 CVEs)

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

Record
CLSA-2026-1792156803
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-1792157349No score

TuxCare security update for dompurify (5 CVEs)

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

Record
CLSA-2026-1792157349
Updated
2026-11-02
OSVCLSA-2026-1792157367No score

TuxCare security update for dompurify (4 CVEs)

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

Record
CLSA-2026-1792157367
Updated
2026-11-02
OSVCLSA-2026-1792159229No score

TuxCare security update for dompurify (3 CVEs)

TuxCare rebuilt dompurify to address 3 CVEs. Fixed in 3.4.10-tuxcare.2.

Record
CLSA-2026-1792159229
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.12
3.4.13
dompurify
npm
through 3.4.10
3.4.11
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
Show 61 moreShow less
Affected packages
PackageAffectedFixed
dompurify
TuxCare:npm
From an advisory covering 2 CVEs
2.5.8-tuxcare.0 up to 2.5.8-tuxcare.4, plus listed versions
2.5.82.5.8-tuxcare.12.5.8-tuxcare.22.5.8-tuxcare.3
2.5.8-tuxcare.4
dompurify
TuxCare:npm
From an advisory covering 2 CVEs
3.0.3-tuxcare.0 up to 3.0.3-tuxcare.2, plus listed versions
3.0.33.0.3-tuxcare.1
3.0.3-tuxcare.2
dompurify
TuxCare:npm
2.4.7-tuxcare.0 up to 2.4.7-tuxcare.2, plus listed versions
2.4.72.4.7-tuxcare.1
2.4.7-tuxcare.2
dompurify
TuxCare:npm
2.4.3-tuxcare.0 up to 2.4.3-tuxcare.4, plus listed versions
2.4.32.4.3-tuxcare.12.4.3-tuxcare.22.4.3-tuxcare.3
2.4.3-tuxcare.4
dompurify
TuxCare:npm
2.4.0-tuxcare.0 up to 2.4.0-tuxcare.2, plus listed versions
2.4.02.4.0-tuxcare.1
2.4.0-tuxcare.2
dompurify
TuxCare:npm
2.3.0-tuxcare.0 up to 2.3.0-tuxcare.3, plus listed versions
2.3.02.3.0-tuxcare.12.3.0-tuxcare.2
2.3.0-tuxcare.3
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
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
3.4.8-tuxcare.0 up to 3.4.8-tuxcare.2, plus listed versions
3.4.83.4.8-tuxcare.1
3.4.8-tuxcare.2
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 7 CVEs
2.5.8-tuxcare.0 up to 2.5.8-tuxcare.7, 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.52.5.8-tuxcare.6
2.5.8-tuxcare.7
dompurify
TuxCare:npm
From an advisory covering 6 CVEs
3.4.5-tuxcare.0 up to 3.4.5-tuxcare.2, plus listed versions
3.4.53.4.5-tuxcare.1
3.4.5-tuxcare.2
dompurify
TuxCare:npm
From an advisory covering 2 CVEs
3.4.9-tuxcare.0 up to 3.4.9-tuxcare.2, plus listed versions
3.4.93.4.9-tuxcare.1
3.4.9-tuxcare.2
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 5 CVEs
2.3.3-tuxcare.0 up to 2.3.3-tuxcare.2, plus listed versions
2.3.32.3.3-tuxcare.1
2.3.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 6 CVEs
2.0.8-tuxcare.0 up to 2.0.8-tuxcare.2, plus listed versions
2.0.82.0.8-tuxcare.1
2.0.8-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 5 CVEs
2.3.10-tuxcare.0 up to 2.3.10-tuxcare.2, plus listed versions
2.3.102.3.10-tuxcare.1
2.3.10-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 4 CVEs
3.4.6-tuxcare.0 up to 3.4.6-tuxcare.2, plus listed versions
3.4.63.4.6-tuxcare.1
3.4.6-tuxcare.2
dompurify
TuxCare:npm
From an advisory covering 3 CVEs
3.4.7-tuxcare.0 up to 3.4.7-tuxcare.2, plus listed versions
3.4.73.4.7-tuxcare.1
3.4.7-tuxcare.2
dompurify
TuxCare:npm
From an advisory covering 3 CVEs
3.4.10-tuxcare.0 up to 3.4.10-tuxcare.2, plus listed versions
3.4.103.4.10-tuxcare.1
3.4.10-tuxcare.2
dompurify
TuxCare:npm
From an advisory covering 5 CVEs
3.3.3-tuxcare.0 up to 3.3.3-tuxcare.2, plus listed versions
3.3.33.3.3-tuxcare.1
3.3.3-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
From an advisory covering 6 CVEs
3.0.6-tuxcare.0 up to 3.0.6-tuxcare.3, plus listed versions
3.0.63.0.6-tuxcare.13.0.6-tuxcare.2
3.0.6-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 5 CVEs
3.0.6-tuxcare.0 up to 3.0.6-tuxcare.5, plus listed versions
3.0.63.0.6-tuxcare.13.0.6-tuxcare.23.0.6-tuxcare.33.0.6-tuxcare.4
3.0.6-tuxcare.5
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.13
3.4.13
dompurify
npm
before 3.4.11
3.4.11
grafana12.4
Red Hat:hummingbird:1
From an advisory covering 8 CVEs
before 0:12.4.8-0.1.2.hum1
0:12.4.8-0.1.2.hum1
grafana13.1
Red Hat:hummingbird:1
From an advisory covering 4 CVEs
before 0:13.1.3-0.1.3.hum1
0:13.1.3-0.1.3.hum1
dompurify
Root:npm
before 3.4.6-aikido.2
3.4.6-aikido.22.5.9-aikido.43.2.4-aikido.42.5.9-aikido.53.2.4-aikido.5
@rootio/dompurify
Root:npm
before 3.4.6-root.io.2
3.4.6-root.io.22.5.9-root.io.43.2.4-root.io.42.5.9-root.io.53.2.4-root.io.5
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
dompurify
Root:npm
before 2.5.8-aikido.3
2.5.8-aikido.32.5.9-aikido.33.4.9-aikido.13.4.7-aikido.13.2.4-aikido.33.4.6-aikido.22.5.8-aikido.23.4.0-aikido.13.4.8-aikido.13.4.2-aikido.13.4.10-aikido.13.4.6-aikido.13.4.5-aikido.13.4.2-aikido.22.5.9-aikido.43.2.4-aikido.42.5.9-aikido.53.2.4-aikido.5
@rootio/dompurify
Root:npm
before 2.5.8-root.io.3
2.5.8-root.io.32.5.9-root.io.33.4.9-root.io.13.4.7-root.io.13.2.4-root.io.33.4.6-root.io.22.5.8-root.io.23.4.0-root.io.13.4.8-root.io.13.4.2-root.io.13.4.10-root.io.13.4.6-root.io.13.4.5-root.io.13.4.2-root.io.22.5.9-root.io.43.2.4-root.io.42.5.9-root.io.53.2.4-root.io.5
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
python-comfyui-frontend-package
openSUSE:Tumbleweed
From an advisory covering 3 CVEs
before 1.52.7-1.1
1.52.7-1.1

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-65898 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 11th percentile. Fixed in handlebars 3.0.8.

References

Show 80 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: 17 source records.

MoveEnter Open