{"schema":"threatline.record/2","record":{"id":"CVE-2026-61784","aliases":["GHSA-j8r4-32c5-33rc"],"summary":"xhtml-purifier has HTML attribute-injection (sanitizer bypass) that leads to XSS","details":"xhtml-purifier does not HTML-entity-encode attribute values when serializing its sanitized output. In attributeString() (XHTMLPurifier.js, around line 148) the attribute value is concatenated directly into a double-quoted attribute without encoding. As a result, an attacker-controlled value in any allowed attribute (class, style, title, alt, src, href) can include a double-quote character to break out of the attribute and inject an additional attribute, such as a JavaScript event handler (for example onmouseover or onerror). The injected handler survives sanitization and executes when the output is rendered, which is a sanitizer bypass leading to cross-site scripting. The fix HTML-entity-encodes attribute values before serialization.","categories":["Libraries & packages"],"product":"xhtml-purifier","vendor":"cstigler","ecosystem":"npm","affected_ranges":[{"source":"GitHub Advisory Database","source_url":"https://github.com/advisories/GHSA-j8r4-32c5-33rc","source_modified_at":"2026-09-24T19:33:25Z","fetched_at":"2026-10-23T18:42:43.628194Z","package":{"ecosystem":"npm","name":"xhtml-purifier"},"range":"<= 0.4.1"},{"source":"CVE List","source_url":"https://www.cve.org/CVERecord?id=CVE-2026-61784","source_modified_at":"2026-09-24T18:03:05.576Z","fetched_at":"2026-10-23T18:45:31.882637Z","product":"node-xhtml-purifier","vendor":"cstigler","versions":[{"version":"< 0.4.3","status":"affected"}],"defaultStatus":null},{"source":"OSV","source_url":"https://osv.dev/vulnerability/GHSA-j8r4-32c5-33rc","source_modified_at":"2026-09-24T19:45:04.825205046Z","fetched_at":"2026-10-23T18:45:31.882637Z","package":{"name":"xhtml-purifier","ecosystem":"npm","purl":"pkg:npm/xhtml-purifier"},"ranges":[{"type":"SEMVER","events":[{"introduced":"0"},{"fixed":"0.4.3"}]}],"versions":[]}],"fixed_versions":[{"source":"GitHub Advisory Database","source_url":"https://github.com/advisories/GHSA-j8r4-32c5-33rc","source_modified_at":"2026-09-24T19:33:25Z","fetched_at":"2026-10-23T18:42:43.628194Z","package":{"ecosystem":"npm","name":"xhtml-purifier"},"version":"0.4.3"},{"source":"OSV","source_url":"https://osv.dev/vulnerability/GHSA-j8r4-32c5-33rc","source_modified_at":"2026-09-24T19:45:04.825205046Z","fetched_at":"2026-10-23T18:45:31.882637Z","package":{"name":"xhtml-purifier","ecosystem":"npm","purl":"pkg:npm/xhtml-purifier"},"version":"0.4.3"}],"cvss":6.1,"severity":"Medium","kev":{"listed":false},"epss":{"probability":0.00168,"percentile":0.05829,"score_date":"2026-10-23"},"published_at":"2026-09-24T17:35:57.096Z","modified_at":"2026-09-24T19:45:04.825205046Z","provenance":[{"source":"GitHub Advisory Database","url":"https://github.com/advisories/GHSA-j8r4-32c5-33rc","fetched_at":"2026-10-23T18:42:43.628194Z","source_modified_at":"2026-09-24T19:33:25Z"},{"source":"CVE List","url":"https://www.cve.org/CVERecord?id=CVE-2026-61784","fetched_at":"2026-10-23T18:45:31.882637Z","source_modified_at":"2026-09-24T18:03:05.576Z"},{"source":"OSV","url":"https://osv.dev/vulnerability/GHSA-j8r4-32c5-33rc","fetched_at":"2026-10-23T18:45:31.882637Z","source_modified_at":"2026-09-24T19:45:04.825205046Z"},{"source":"EPSS","url":"https://api.first.org/data/v1/epss?cve=CVE-2026-61784","fetched_at":"2026-10-23T18:42:43.628194Z","source_modified_at":"2026-10-23"}],"sources":["GitHub Advisory Database","CVE List","OSV","EPSS"],"references":[{"source":"CVE List","url":"https://github.com/cstigler/node-xhtml-purifier/security/advisories/GHSA-j8r4-32c5-33rc","tags":["x_refsource_CONFIRM"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-61784","source":"GitHub Advisory Database"},{"url":"https://github.com/cstigler/node-xhtml-purifier/pull/6","source":"GitHub Advisory Database"},{"source":"CVE List","url":"https://github.com/cstigler/node-xhtml-purifier/commit/21d461ad23e7bc9b3073693d5b51b9b8662044d3","tags":["x_refsource_MISC"]},{"url":"https://github.com/cstigler/node-xhtml-purifier/releases/tag/v0.4.3","source":"GitHub Advisory Database"},{"url":"https://github.com/advisories/GHSA-j8r4-32c5-33rc","source":"GitHub Advisory Database"}],"locations":[],"motoko_assessment":{"status":"requires_architecture_review","automatic_remediation":false},"cve_state":"PUBLISHED","ssvc":{"exploitation":"none","automatable":"no","technical_impact":"partial","assessed_at":"2026-09-24T18:02:51.787487Z"},"classification":{"method":"product-first software-layer rules","rules_version":"2.1","matched_on":"ecosystem","confidence":"heuristic","reviewed":false},"change_timestamp":"2026-09-24T19:45:04.825205046Z","content_hash":"64d971d1dad4ad87e096c154549049496afd8068f4e847b1ce3215be9f4cd46f"}}
