2026-08-23 13:34CVE-2026-8630VulnCheck
PUBLISHED5.2CWE-79

justhtml before 1.12.0 Mutation XSS via Raw Text Elements

justhtml before 1.12.0 (versions <= 1.11.0) contains a mutation cross-site scripting (mXSS) vulnerability in the serialization of raw-text elements such as <style> and <script>. When a DOM tree is processed by sanitize_dom() using a custom policy that keeps these elements, text nodes inside them are serialized literally without escaping, allowing attacker-controlled text containing the matching closing tag sequence to break out of the raw-text context and inject arbitrary HTML into the serialized output. The default sanitization policy is not affected because it drops the contents of style and script.

Problem type

Affected products

EmilStenstrom

justhtml

< 1.12.0 - AFFECTED

1.12.0 - UNAFFECTED

References

GitHub Security Advisories

GHSA-rc3v-3cc7-h7h5

justhtml before 1.12.0 (versions <= 1.11.0) contains a mutation cross-site scripting (mXSS)...

https://github.com/advisories/GHSA-rc3v-3cc7-h7h5

justhtml before 1.12.0 (versions <= 1.11.0) contains a mutation cross-site scripting (mXSS) vulnerability in the serialization of raw-text elements such as

JSON source

https://cveawg.mitre.org/api/cve/CVE-2026-8630
Click to expand
{
  "dataType": "CVE_RECORD",
  "dataVersion": "5.2",
  "cveMetadata": {
    "cveId": "CVE-2026-8630",
    "assignerOrgId": "83251b91-4cc7-4094-a5c7-464a1b83ea10",
    "assignerShortName": "VulnCheck",
    "dateUpdated": "2026-08-23T13:34:14.556Z",
    "dateReserved": "2026-05-14T18:57:10.898Z",
    "datePublished": "2026-08-23T13:34:14.556Z",
    "state": "PUBLISHED"
  },
  "containers": {
    "cna": {
      "providerMetadata": {
        "orgId": "83251b91-4cc7-4094-a5c7-464a1b83ea10",
        "shortName": "VulnCheck",
        "dateUpdated": "2026-08-23T13:34:14.556Z"
      },
      "datePublic": "2026-03-18T00:00:00.000Z",
      "title": "justhtml before 1.12.0 Mutation XSS via Raw Text Elements",
      "descriptions": [
        {
          "lang": "en",
          "value": "justhtml before 1.12.0 (versions <= 1.11.0) contains a mutation cross-site scripting (mXSS) vulnerability in the serialization of raw-text elements such as <style> and <script>. When a DOM tree is processed by sanitize_dom() using a custom policy that keeps these elements, text nodes inside them are serialized literally without escaping, allowing attacker-controlled text containing the matching closing tag sequence to break out of the raw-text context and inject arbitrary HTML into the serialized output. The default sanitization policy is not affected because it drops the contents of style and script."
        }
      ],
      "affected": [
        {
          "vendor": "EmilStenstrom",
          "product": "justhtml",
          "defaultStatus": "unaffected",
          "versions": [
            {
              "version": "0",
              "status": "affected",
              "versionType": "semver",
              "lessThan": "1.12.0"
            },
            {
              "version": "1.12.0",
              "status": "unaffected",
              "versionType": "semver"
            }
          ]
        }
      ],
      "problemTypes": [
        {
          "descriptions": [
            {
              "lang": "en",
              "description": "Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')",
              "cweId": "CWE-79",
              "type": "CWE"
            }
          ]
        }
      ],
      "references": [
        {
          "url": "https://github.com/EmilStenstrom/justhtml/security/advisories/GHSA-qvc2-mg72-jjhx",
          "name": "GitHub Security Advisory (GHSA-qvc2-mg72-jjhx)",
          "tags": [
            "vendor-advisory"
          ]
        },
        {
          "url": "https://www.vulncheck.com/advisories/justhtml-before-mutation-xss-via-raw-text-elements",
          "name": "VulnCheck Advisory: justhtml before 1.12.0 Mutation XSS via Raw Text Elements",
          "tags": [
            "third-party-advisory"
          ]
        }
      ],
      "metrics": [
        {
          "format": "CVSS"
        },
        {
          "format": "CVSS",
          "cvssV3_1": {
            "version": "3.1",
            "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N",
            "attackVector": "NETWORK",
            "attackComplexity": "LOW",
            "privilegesRequired": "NONE",
            "userInteraction": "REQUIRED",
            "scope": "CHANGED",
            "confidentialityImpact": "LOW",
            "integrityImpact": "LOW",
            "availabilityImpact": "NONE",
            "baseScore": 6.1,
            "baseSeverity": "MEDIUM"
          }
        }
      ],
      "credits": [
        {
          "lang": "en",
          "value": "offset",
          "type": "reporter"
        }
      ]
    }
  }
}