CVE-2026-65898
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.
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
What each source reports
CVE List Score used
5.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 Medium
CVSS: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 High
CVSS: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-48286
5.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 Medium
CVSS: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-r9qv
7.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 High
CVSS: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-7xh7
5.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 [email protected] 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 Medium
CVSS: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-q42p-pg8m-cqh6
7.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 High
CVSS: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
GitHub AdvisoriesGHSA-g9r4-xpmj-mj65 No 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
Show 52 moreShow less
GitHub AdvisoriesGHSA-q2c6-c6pm-g3gh No 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
NVD
5.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 Medium
CVSS: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 High
CVSS: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
OSV
5.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 Medium
CVSS: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-65898
5.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 Medium
CVSS: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-r9qv
7.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 High
CVSS: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-7xh7
5.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 [email protected] 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 Medium
CVSS: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-q42p-pg8m-cqh6
7.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 High
CVSS: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:58500
6.1
Red Hat Security Advisory: Red Hat Hardened Images RPMs Security Update
- Record
RHSA-2026:58500- CVSS 3.1
- 6.1 Medium
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N - Updated
- 2026-11-02
OSVRHSA-2026:58502
6.1
Red Hat Security Advisory: Red Hat Hardened Images RPMs bug fix and enhancement update
- Record
RHSA-2026:58502- CVSS 3.1
- 6.1 Medium
CVSS: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-65898
5.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 Medium
CVSS: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 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:L/I:L/A:N - Updated
- 2026-11-02
OSVCLSA-2026-1774743817 No 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-1774743830 No 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-1784509816 No 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-1786539981 No 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-1786636600 No 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-1786636613 No 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-1786636721 No 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-1786731853 No 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-1786731948 No 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-1786731971 No 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-1787602039 No 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-1787602198 No 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-1789152222 No 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-1789153936 No 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-1789154068 No 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-1789154458 No 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-1789155659 No 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-1789155876 No 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-1792150209 No 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-1792154118 No 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-1792155851 No 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-1792155956 No 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-1792156267 No 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-1792156282 No 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-1792156382 No 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-1792156500 No 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-1792156589 No 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-1792156694 No 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-1792156803 No 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-1792156909 No 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-1792157013 No 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-1792157113 No 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-1792157349 No 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-1792157367 No 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-1792159229 No 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
OSVCLSA-2026-1792159369 No score
TuxCare security update for dompurify (5 CVEs)
TuxCare rebuilt dompurify to address 5 CVEs. Fixed in 3.3.3-tuxcare.2.
- Record
CLSA-2026-1792159369- Updated
- 2026-11-02
OSVCLSA-2026-1792161408 No 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-1792161492 No 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-1792369452 No score
TuxCare security update for dompurify (6 CVEs)
TuxCare rebuilt dompurify to address 6 CVEs. Fixed in 3.0.6-tuxcare.3.
- Record
CLSA-2026-1792369452- Updated
- 2026-11-02
OSVCLSA-2026-1792453557 No score
TuxCare security update for dompurify (5 CVEs)
TuxCare rebuilt dompurify to address 5 CVEs. Fixed in 3.0.5-tuxcare.2.
- Record
CLSA-2026-1792453557- Updated
- 2026-11-02
OSVCLSA-2026-1792479087 No score
TuxCare security update for dompurify (5 CVEs)
TuxCare rebuilt dompurify to address 5 CVEs. Fixed in 3.0.4-tuxcare.2.
- Record
CLSA-2026-1792479087- Updated
- 2026-11-02
OSVCLSA-2026-1792929243 No score
TuxCare security update for dompurify (7 CVEs)
TuxCare rebuilt dompurify to address 7 CVEs. Fixed in 3.0.6-tuxcare.5.
- Record
CLSA-2026-1792929243- Updated
- 2026-11-02
Affected products
Affected packages
| Package | Affected | Fixed |
|---|---|---|
handlebarsnpm |
before 3.0.8 | 3.0.8 |
handlebarsnpm |
4.0.0 up to 4.5.2 | 4.5.2 |
dompurifynpm |
through 3.4.12 | 3.4.13 |
handlebarsnpm |
4.0.0 up to 4.5.3 | 4.5.3 |
handlebarsnpm |
4.1.0 up to 4.1.2 | 4.1.2 |
handlebarsnpm |
4.0.0 up to 4.0.14 | 4.0.14 |
handlebarsnpm |
before 3.0.7 | 3.0.7 |
handlebarsTuxCare:npm |
1.3.0-tuxcare.0 up to 1.3.0-tuxcare.1, plus listed versions 1.3.0 |
1.3.0-tuxcare.1 |
handlebarsTuxCare: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 |
dompurifyTuxCare: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 |
Show 51 moreShow less
| Package | Affected | Fixed |
|---|---|---|
dompurifyTuxCare: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 |
dompurifyTuxCare: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 |
dompurifyTuxCare: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 |
dompurifyTuxCare: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 |
dompurifyTuxCare: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 |
dompurifyTuxCare: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 |
dompurifyTuxCare: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 |
dompurifyTuxCare: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 |
dompurifyTuxCare: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 |
dompurifyTuxCare: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 |
dompurifyTuxCare: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 |
dompurifyTuxCare: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 |
dompurifyTuxCare: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 |
dompurifyTuxCare: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 |
dompurifyTuxCare: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 |
dompurifyTuxCare: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 |
dompurifyTuxCare: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 |
dompurifyTuxCare: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 |
dompurifyTuxCare: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 |
dompurifyTuxCare: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 |
dompurifyTuxCare: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 |
dompurifyTuxCare: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 |
dompurifyTuxCare: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 |
dompurifyTuxCare: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 |
dompurifyTuxCare: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 |
dompurifyTuxCare: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 |
dompurifyTuxCare: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 |
dompurifyTuxCare: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 |
dompurifyTuxCare: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 |
dompurifyTuxCare: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 |
dompurifyTuxCare: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 |
dompurifyTuxCare: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 |
dompurifyTuxCare: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 |
dompurifyTuxCare: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 |
dompurifyTuxCare: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-dompurifyDebian: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 less3.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-dompurifyDebian: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 less3.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-dompurifyDebian: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 |
dompurifynpm |
before 3.4.13 | 3.4.13 |
grafana12.4Red 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.1Red 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 |
dompurifyRoot: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/dompurifyRoot: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 |
handlebarsRoot: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/handlebarsRoot: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 |
handlebarsRoot: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/handlebarsRoot: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-dompurifyUbuntu:22.04:LTS |
All versions, plus listed versions 2.3.0+dfsg-22.3.3+dfsg-1 |
None known |
node-dompurifyUbuntu: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-dompurifyUbuntu: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-packageopenSUSE:Tumbleweed From an advisory covering 3 CVEs |
before 1.52.7-1.1 | 1.52.7-1.1 |
History
| Recorded | Changed | Sources |
|---|---|---|
| affected | ||
| facts | ||
| affected | ||
| first indexed | CVE 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
github.com/cure53/DOMPurify/security/advisories/GHSA-cmwh-pvxp-8882
vulncheck.com/advisories/dompurify-before-permanent-attribute-allowlist-pollution-via-setconfig
npmjs.com/advisories/1316
github.com/advisories/GHSA-2cf5-4w76-r9qv
github.com/cure53/DOMPurify/security/advisories/GHSA-55q2-fjhq-7xh7
github.com/cure53/DOMPurify/pull/1557
Show 76 moreShow less
github.com/cure53/DOMPurify/commit/3067f7746769
github.com/cure53/DOMPurify/releases/tag/3.4.13
github.com/advisories/GHSA-55q2-fjhq-7xh7
npmjs.com/advisories/1325
github.com/advisories/GHSA-g9r4-xpmj-mj65
npmjs.com/advisories/1324
github.com/advisories/GHSA-q2c6-c6pm-g3gh
github.com/handlebars-lang/handlebars.js/issues/1495
github.com/handlebars-lang/handlebars.js/commit/7372d4e9dffc9d70c09671aa28b9392a1577fd86
snyk.io/vuln/SNYK-JS-HANDLEBARS-173692
npmjs.com/advisories/755
github.com/handlebars-lang/handlebars.js/commit/0d6d8c335ad81bad1b672fc56b6a44f6aa472dac
github.com/handlebars-lang/handlebars.js/commit/85c8783b34fc6d36145d8b53885ad0b9e3c3f9c4
github.com/handlebars-lang/handlebars.js/commit/cd38583216dce3252831916323202749431c773e
github.com/advisories/GHSA-q42p-pg8m-cqh6
github.com/CVEProject/cvelistV5/tree/main/cves/2026/65xxx/CVE-2026-65898.json
nvd.nist.gov/vuln/detail/CVE-2026-65898
security-tracker.debian.org/tracker/CVE-2026-65898
github.com/cure53/DOMPurify
access.redhat.com/errata/RHSA-2026:58500
access.redhat.com/security/cve/CVE-2026-65898
access.redhat.com/security/cve/CVE-2026-65899
access.redhat.com/security/cve/CVE-2026-65901
access.redhat.com/security/cve/CVE-2026-65902
access.redhat.com/security/cve/CVE-2026-65911
access.redhat.com/security/cve/CVE-2026-65912
access.redhat.com/security/cve/CVE-2026-65913
access.redhat.com/security/cve/CVE-2026-65914
access.redhat.com/security/updates/classification
images.redhat.com
security.access.redhat.com/data/csaf/v2/advisories/2026/rhsa-2026_58500.json
bugzilla.redhat.com/show_bug.cgi?id=2506436
cve.org/CVERecord?id=CVE-2026-65898
bugzilla.redhat.com/show_bug.cgi?id=2506428
cve.org/CVERecord?id=CVE-2026-65899
nvd.nist.gov/vuln/detail/CVE-2026-65899
github.com/cure53/DOMPurify/commit/825e617753ac1169306a542d3174a77f717a0cf6
github.com/cure53/DOMPurify/security/advisories/GHSA-vxr8-fq34-vvx9
vulncheck.com/advisories/dompurify-before-trusted-types-policy-state-contamination
bugzilla.redhat.com/show_bug.cgi?id=2506432
cve.org/CVERecord?id=CVE-2026-65901
nvd.nist.gov/vuln/detail/CVE-2026-65901
github.com/cure53/DOMPurify/security/advisories/GHSA-x4vx-rjvf-j5p4
vulncheck.com/advisories/dompurify-cross-site-scripting-via-in-place-nodename
bugzilla.redhat.com/show_bug.cgi?id=2506431
cve.org/CVERecord?id=CVE-2026-65902
nvd.nist.gov/vuln/detail/CVE-2026-65902
github.com/cure53/DOMPurify/commit/7996f1dc78eb8b7922388aed75d94a9f8fad9a36
github.com/cure53/DOMPurify/security/advisories/GHSA-76mc-f452-cxcm
vulncheck.com/advisories/dompurify-before-hook-mutation-pollution-via-allowedtags
bugzilla.redhat.com/show_bug.cgi?id=2506434
cve.org/CVERecord?id=CVE-2026-65911
nvd.nist.gov/vuln/detail/CVE-2026-65911
github.com/cure53/DOMPurify/security/advisories/GHSA-9p3w-6h5p-cv75
vulncheck.com/advisories/dompurify-before-xss-via-add-attr-add-tags-state-leakage
bugzilla.redhat.com/show_bug.cgi?id=2506427
cve.org/CVERecord?id=CVE-2026-65912
nvd.nist.gov/vuln/detail/CVE-2026-65912
github.com/cure53/DOMPurify/security/advisories/GHSA-cjmm-f4jc-qw8r
vulncheck.com/advisories/dompurify-before-uri-validation-bypass-via-add-attr
bugzilla.redhat.com/show_bug.cgi?id=2506429
cve.org/CVERecord?id=CVE-2026-65913
nvd.nist.gov/vuln/detail/CVE-2026-65913
github.com/cure53/DOMPurify/security/advisories/GHSA-cj63-jhhr-wcxv
vulncheck.com/advisories/dompurify-before-prototype-pollution-via-use-profiles
bugzilla.redhat.com/show_bug.cgi?id=2506430
cve.org/CVERecord?id=CVE-2026-65914
nvd.nist.gov/vuln/detail/CVE-2026-65914
github.com/cure53/DOMPurify/security/advisories/GHSA-h8r8-wccr-v5f2
vulncheck.com/advisories/dompurify-before-mutation-xss-via-re-contextualization
access.redhat.com/errata/RHSA-2026:58502
security.access.redhat.com/data/csaf/v2/advisories/2026/rhsa-2026_58502.json
ubuntu.com/security/CVE-2026-65898
suse.com/security/cve/CVE-2026-65898
suse.com/security/cve/CVE-2026-65899
suse.com/security/cve/CVE-2026-65900
Left out on purpose, here and in the API, to keep responses small: 9 source records.