---
title: "CVE-2026-103687: rhukster dom-sanitizer - Stored XSS"
description: "rhukster dom-sanitizer <= 1.0.15 contains an incomplete blacklist vulnerability caused by improper sanitization in the url function of src/DOMSanitizer.php, letting remote attackers bypass filters, exploit requires crafted input."
url: https://panop.io/threat-heartbeat/CVE-2026-103687/
---

# CVE-2026-103687 rhukster dom-sanitizer - Stored XSS

rhukster dom-sanitizer <= 1.0.15 contains an incomplete blacklist vulnerability caused by improper sanitization in the url function of src/DOMSanitizer.php, letting remote attackers bypass filters, exploit requires crafted input.

CVSS base score 7.3 /10

High

CISA KEV

Not listed

Public exploit

None known

Authentication

Not required

EPSS

0.54% chance of exploitation in 30 days

[View the NVD record ↗](https://nvd.nist.gov/vuln/detail/CVE-2026-103687)

## Details

Type

Stored XSS

Impact

Stored XSS

CVSS vector

CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:L

Published

1 October 2026

Updated

15 October 2026

Weakness

[CWE-183](https://cwe.mitre.org/data/definitions/183.html)

## Vendor fix

Upgrade to version 1.0.16.

Patching closes this CVE. It does not tell you which of your systems run the affected version, or what else is exposed alongside them.

## References

- [https://nvd.nist.gov/vuln/detail/CVE-2026-103687](https://nvd.nist.gov/vuln/detail/CVE-2026-103687)
- [https://github.com/rhukster/dom-sanitizer/security/advisories/GHSA-cjfg-j8jp-5xvc](https://github.com/rhukster/dom-sanitizer/security/advisories/GHSA-cjfg-j8jp-5xvc)
- [https://vuldb.com/cve/CVE-2026-103687](https://vuldb.com/cve/CVE-2026-103687)
- [https://vuldb.com/submit/958345](https://vuldb.com/submit/958345)
- [https://vuldb.com/vuln/412551](https://vuldb.com/vuln/412551)
- [https://vuldb.com/vuln/412551/cti](https://vuldb.com/vuln/412551/cti)
- [https://github.com/rhukster/dom-sanitizer/](https://github.com/rhukster/dom-sanitizer/)
- [https://github.com/rhukster/dom-sanitizer/commit/139c46c3d7c9bc81542b7b5a58d5cde5d0e0195a](https://github.com/rhukster/dom-sanitizer/commit/139c46c3d7c9bc81542b7b5a58d5cde5d0e0195a)
- [https://github.com/rhukster/dom-sanitizer/releases/tag/1.0.16](https://github.com/rhukster/dom-sanitizer/releases/tag/1.0.16)

[← All CVEs](https://panop.io/threat-heartbeat/)

## What this record can't tell you

- Whether you run the affected software, and where
- Whether an attacker can actually reach and exploit it
- The misconfigurations that never get a CVE number
- What it would cost the business, ranked into what to fix first

Panop answers these inside your environment, for this CVE and every other finding.

[Book a demo](https://panop.io/demo)
