CVE-2026-44898 (GCVE-0-2026-44898)

Vulnerability from cvelistv5 – Published: 2026-05-26 20:41 – Updated: 2026-05-27 17:57
VLAI
Title
Mistune TOC Anchor Injection XSS
Summary
Mistune is a Python Markdown parser with renderers and plugins. Prior to 3.2.1, render_toc_ul() builds a <ul> table-of-contents tree from a list of (level, id, text) tuples. Both the id value (used as href="#<id>") and the text value (used as the visible link label) are inserted into <a> tags via a plain Python format string — with no HTML escaping applied to either value. When heading IDs are derived from user-supplied heading text (the standard use-case for readable slug anchors), an attacker can craft a heading whose text breaks out of the href="#..." attribute context, injecting arbitrary HTML tags including <script> blocks directly into the rendered TOC. This vulnerability is fixed in 3.2.1.
SSVC
Exploitation: poc Automatable: no Technical Impact: partial
CISA Coordinator (v2.0.3)
CWE
  • CWE-79 - Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')
Assigner
References
Impacted products
Vendor Product Version
lepture mistune Affected: < 3.2.1
Create a notification for this product.
Show details on NVD website

{
  "containers": {
    "adp": [
      {
        "metrics": [
          {
            "other": {
              "content": {
                "id": "CVE-2026-44898",
                "options": [
                  {
                    "Exploitation": "poc"
                  },
                  {
                    "Automatable": "no"
                  },
                  {
                    "Technical Impact": "partial"
                  }
                ],
                "role": "CISA Coordinator",
                "timestamp": "2026-05-27T17:57:34.250055Z",
                "version": "2.0.3"
              },
              "type": "ssvc"
            }
          }
        ],
        "providerMetadata": {
          "dateUpdated": "2026-05-27T17:57:38.643Z",
          "orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
          "shortName": "CISA-ADP"
        },
        "references": [
          {
            "tags": [
              "exploit"
            ],
            "url": "https://github.com/lepture/mistune/security/advisories/GHSA-6269-cqxg-mhhv"
          }
        ],
        "title": "CISA ADP Vulnrichment"
      }
    ],
    "cna": {
      "affected": [
        {
          "product": "mistune",
          "vendor": "lepture",
          "versions": [
            {
              "status": "affected",
              "version": "\u003c 3.2.1"
            }
          ]
        }
      ],
      "descriptions": [
        {
          "lang": "en",
          "value": "Mistune is a Python Markdown parser with renderers and plugins. Prior to 3.2.1, render_toc_ul() builds a \u003cul\u003e table-of-contents tree from a list of (level, id, text) tuples. Both the id value (used as href=\"#\u003cid\u003e\") and the text value (used as the visible link label) are inserted into \u003ca\u003e tags via a plain Python format string \u2014 with no HTML escaping applied to either value. When heading IDs are derived from user-supplied heading text (the standard use-case for readable slug anchors), an attacker can craft a heading whose text breaks out of the href=\"#...\" attribute context, injecting arbitrary HTML tags including \u003cscript\u003e blocks directly into the rendered TOC. This vulnerability is fixed in 3.2.1."
        }
      ],
      "metrics": [
        {
          "cvssV3_1": {
            "attackComplexity": "LOW",
            "attackVector": "NETWORK",
            "availabilityImpact": "NONE",
            "baseScore": 6.1,
            "baseSeverity": "MEDIUM",
            "confidentialityImpact": "LOW",
            "integrityImpact": "LOW",
            "privilegesRequired": "NONE",
            "scope": "CHANGED",
            "userInteraction": "REQUIRED",
            "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N",
            "version": "3.1"
          }
        }
      ],
      "problemTypes": [
        {
          "descriptions": [
            {
              "cweId": "CWE-79",
              "description": "CWE-79: Improper Neutralization of Input During Web Page Generation (\u0027Cross-site Scripting\u0027)",
              "lang": "en",
              "type": "CWE"
            }
          ]
        }
      ],
      "providerMetadata": {
        "dateUpdated": "2026-05-26T20:41:53.805Z",
        "orgId": "a0819718-46f1-4df5-94e2-005712e83aaa",
        "shortName": "GitHub_M"
      },
      "references": [
        {
          "name": "https://github.com/lepture/mistune/security/advisories/GHSA-6269-cqxg-mhhv",
          "tags": [
            "x_refsource_CONFIRM"
          ],
          "url": "https://github.com/lepture/mistune/security/advisories/GHSA-6269-cqxg-mhhv"
        },
        {
          "name": "https://github.com/lepture/mistune/releases/tag/v3.2.1",
          "tags": [
            "x_refsource_MISC"
          ],
          "url": "https://github.com/lepture/mistune/releases/tag/v3.2.1"
        }
      ],
      "source": {
        "advisory": "GHSA-6269-cqxg-mhhv",
        "discovery": "UNKNOWN"
      },
      "title": "Mistune TOC Anchor Injection XSS"
    }
  },
  "cveMetadata": {
    "assignerOrgId": "a0819718-46f1-4df5-94e2-005712e83aaa",
    "assignerShortName": "GitHub_M",
    "cveId": "CVE-2026-44898",
    "datePublished": "2026-05-26T20:41:53.805Z",
    "dateReserved": "2026-05-07T21:50:33.546Z",
    "dateUpdated": "2026-05-27T17:57:38.643Z",
    "state": "PUBLISHED"
  },
  "dataType": "CVE_RECORD",
  "dataVersion": "5.2",
  "vulnerability-lookup:meta": {
    "epss": {
      "cve": "CVE-2026-44898",
      "date": "2026-07-24",
      "epss": "0.00228",
      "percentile": "0.13661"
    },
    "microsoft_vex": {
      "current_release_date": "2026-06-02T01:44:33.000Z",
      "cve": "CVE-2026-44898",
      "id": "msrc_CVE-2026-44898",
      "initial_release_date": "2026-05-02T00:00:00.000Z",
      "product_status:fixed": "1",
      "product_status:known_affected": "1",
      "source": "Microsoft CSAF VEX",
      "status": "final",
      "title": "Mistune TOC Anchor Injection XSS",
      "url": "https://msrc.microsoft.com/csaf/vex/2026/msrc_cve-2026-44898.json",
      "version": "2"
    },
    "nvd": "{\"cve\":{\"id\":\"CVE-2026-44898\",\"sourceIdentifier\":\"security-advisories@github.com\",\"published\":\"2026-05-26T21:16:39.810\",\"lastModified\":\"2026-07-24T11:10:00.170\",\"vulnStatus\":\"Analyzed\",\"cveTags\":[],\"descriptions\":[{\"lang\":\"en\",\"value\":\"Mistune is a Python Markdown parser with renderers and plugins. Prior to 3.2.1, render_toc_ul() builds a \u003cul\u003e table-of-contents tree from a list of (level, id, text) tuples. Both the id value (used as href=\\\"#\u003cid\u003e\\\") and the text value (used as the visible link label) are inserted into \u003ca\u003e tags via a plain Python format string \u2014 with no HTML escaping applied to either value. When heading IDs are derived from user-supplied heading text (the standard use-case for readable slug anchors), an attacker can craft a heading whose text breaks out of the href=\\\"#...\\\" attribute context, injecting arbitrary HTML tags including \u003cscript\u003e blocks directly into the rendered TOC. This vulnerability is fixed in 3.2.1.\"},{\"lang\":\"es\",\"value\":\"Mistune es un analizador de Markdown para Python con renderizadores y complementos. Antes de la versi\u00f3n 3.2.1, render_toc_ul() construye un \u00e1rbol \u003cul\u003e de tabla de contenidos a partir de una lista de tuplas (nivel, id, texto). Tanto el valor de \u0027id\u0027 (usado como href=\u0027#\u003cid\u003e\u0027) como el valor de \u0027text\u0027 (usado como la etiqueta visible del enlace) se insertan en etiquetas \u003ca\u003e a trav\u00e9s de una cadena de formato de Python simple - sin aplicar escape HTML a ninguno de los valores. Cuando los IDs de los encabezados se derivan del texto de encabezado proporcionado por el usuario (el caso de uso est\u00e1ndar para anclas de slug legibles), un atacante puede crear un encabezado cuyo texto rompe el contexto del atributo href=\u0027#...\u0027, inyectando etiquetas HTML arbitrarias, incluidos bloques \u003cscript\u003e, directamente en la tabla de contenidos renderizada. Esta vulnerabilidad se corrige en la versi\u00f3n 3.2.1.\"}],\"affected\":[{\"source\":\"security-advisories@github.com\",\"affectedData\":[{\"vendor\":\"lepture\",\"product\":\"mistune\",\"versions\":[{\"version\":\"\u003c 3.2.1\",\"status\":\"affected\"}]}]}],\"metrics\":{\"cvssMetricV31\":[{\"source\":\"security-advisories@github.com\",\"type\":\"Secondary\",\"cvssData\":{\"version\":\"3.1\",\"vectorString\":\"CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N\",\"baseScore\":6.1,\"baseSeverity\":\"MEDIUM\",\"attackVector\":\"NETWORK\",\"attackComplexity\":\"LOW\",\"privilegesRequired\":\"NONE\",\"userInteraction\":\"REQUIRED\",\"scope\":\"CHANGED\",\"confidentialityImpact\":\"LOW\",\"integrityImpact\":\"LOW\",\"availabilityImpact\":\"NONE\"},\"exploitabilityScore\":2.8,\"impactScore\":2.7}],\"ssvcV203\":[{\"source\":\"134c704f-9b21-4f2e-91b3-4a467353bcc0\",\"ssvcData\":{\"timestamp\":\"2026-05-27T17:57:34.250055Z\",\"id\":\"CVE-2026-44898\",\"options\":[{\"exploitation\":\"poc\"},{\"automatable\":\"no\"},{\"technicalImpact\":\"partial\"}],\"role\":\"CISA Coordinator\",\"version\":\"2.0.3\"}}]},\"weaknesses\":[{\"source\":\"security-advisories@github.com\",\"type\":\"Secondary\",\"description\":[{\"lang\":\"en\",\"value\":\"CWE-79\"}]}],\"configurations\":[{\"nodes\":[{\"operator\":\"OR\",\"negate\":false,\"cpeMatch\":[{\"vulnerable\":true,\"criteria\":\"cpe:2.3:a:mistune_project:mistune:*:*:*:*:*:*:*:*\",\"versionEndExcluding\":\"3.2.1\",\"matchCriteriaId\":\"A91629D7-7A30-4A3F-B1AD-17FE21D59820\"}]}]}],\"references\":[{\"url\":\"https://github.com/lepture/mistune/releases/tag/v3.2.1\",\"source\":\"security-advisories@github.com\",\"tags\":[\"Product\",\"Release Notes\"]},{\"url\":\"https://github.com/lepture/mistune/security/advisories/GHSA-6269-cqxg-mhhv\",\"source\":\"security-advisories@github.com\",\"tags\":[\"Exploit\",\"Vendor Advisory\"]},{\"url\":\"https://github.com/lepture/mistune/security/advisories/GHSA-6269-cqxg-mhhv\",\"source\":\"134c704f-9b21-4f2e-91b3-4a467353bcc0\",\"tags\":[\"Exploit\",\"Vendor Advisory\"]}]}}",
    "redhat_vex": {
      "aggregate_severity": "Moderate",
      "current_release_date": "2026-06-28T07:39:12+00:00",
      "cve": "CVE-2026-44898",
      "id": "CVE-2026-44898",
      "initial_release_date": "2026-05-26T20:41:53.805000+00:00",
      "product_status:known_affected": "24",
      "source": "Red Hat CSAF VEX",
      "status": "final",
      "title": "mistune: Mistune: Arbitrary code execution via HTML injection in table of contents rendering",
      "url": "https://security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-44898.json",
      "version": "3"
    },
    "suse_vex": {
      "aggregate_severity": "moderate",
      "current_release_date": "2026-07-16T18:00:22Z",
      "cve": "CVE-2026-44898",
      "id": "CVE-2026-44898",
      "initial_release_date": "2026-05-13T03:33:19Z",
      "product_status:known_affected": "22",
      "product_status:known_not_affected": "2",
      "product_status:recommended": "10",
      "source": "SUSE CSAF VEX",
      "status": "interim",
      "title": "SUSE CVE CVE-2026-44898",
      "url": "https://ftp.suse.com/pub/projects/security/csaf-vex/cve-2026-44898.json",
      "version": "6"
    },
    "vulnrichment": {
      "containers": "{\"adp\": [{\"title\": \"CISA ADP Vulnrichment\", \"metrics\": [{\"other\": {\"type\": \"ssvc\", \"content\": {\"id\": \"CVE-2026-44898\", \"role\": \"CISA Coordinator\", \"options\": [{\"Exploitation\": \"poc\"}, {\"Automatable\": \"no\"}, {\"Technical Impact\": \"partial\"}], \"version\": \"2.0.3\", \"timestamp\": \"2026-05-27T17:57:34.250055Z\"}}}], \"references\": [{\"url\": \"https://github.com/lepture/mistune/security/advisories/GHSA-6269-cqxg-mhhv\", \"tags\": [\"exploit\"]}], \"providerMetadata\": {\"orgId\": \"134c704f-9b21-4f2e-91b3-4a467353bcc0\", \"shortName\": \"CISA-ADP\", \"dateUpdated\": \"2026-05-27T17:57:15.703Z\"}}], \"cna\": {\"title\": \"Mistune TOC Anchor Injection XSS\", \"source\": {\"advisory\": \"GHSA-6269-cqxg-mhhv\", \"discovery\": \"UNKNOWN\"}, \"metrics\": [{\"cvssV3_1\": {\"scope\": \"CHANGED\", \"version\": \"3.1\", \"baseScore\": 6.1, \"attackVector\": \"NETWORK\", \"baseSeverity\": \"MEDIUM\", \"vectorString\": \"CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N\", \"integrityImpact\": \"LOW\", \"userInteraction\": \"REQUIRED\", \"attackComplexity\": \"LOW\", \"availabilityImpact\": \"NONE\", \"privilegesRequired\": \"NONE\", \"confidentialityImpact\": \"LOW\"}}], \"affected\": [{\"vendor\": \"lepture\", \"product\": \"mistune\", \"versions\": [{\"status\": \"affected\", \"version\": \"\u003c 3.2.1\"}]}], \"references\": [{\"url\": \"https://github.com/lepture/mistune/security/advisories/GHSA-6269-cqxg-mhhv\", \"name\": \"https://github.com/lepture/mistune/security/advisories/GHSA-6269-cqxg-mhhv\", \"tags\": [\"x_refsource_CONFIRM\"]}, {\"url\": \"https://github.com/lepture/mistune/releases/tag/v3.2.1\", \"name\": \"https://github.com/lepture/mistune/releases/tag/v3.2.1\", \"tags\": [\"x_refsource_MISC\"]}], \"descriptions\": [{\"lang\": \"en\", \"value\": \"Mistune is a Python Markdown parser with renderers and plugins. Prior to 3.2.1, render_toc_ul() builds a \u003cul\u003e table-of-contents tree from a list of (level, id, text) tuples. Both the id value (used as href=\\\"#\u003cid\u003e\\\") and the text value (used as the visible link label) are inserted into \u003ca\u003e tags via a plain Python format string \\u2014 with no HTML escaping applied to either value. When heading IDs are derived from user-supplied heading text (the standard use-case for readable slug anchors), an attacker can craft a heading whose text breaks out of the href=\\\"#...\\\" attribute context, injecting arbitrary HTML tags including \u003cscript\u003e blocks directly into the rendered TOC. This vulnerability is fixed in 3.2.1.\"}], \"problemTypes\": [{\"descriptions\": [{\"lang\": \"en\", \"type\": \"CWE\", \"cweId\": \"CWE-79\", \"description\": \"CWE-79: Improper Neutralization of Input During Web Page Generation (\u0027Cross-site Scripting\u0027)\"}]}], \"providerMetadata\": {\"orgId\": \"a0819718-46f1-4df5-94e2-005712e83aaa\", \"shortName\": \"GitHub_M\", \"dateUpdated\": \"2026-05-26T20:41:53.805Z\"}}}",
      "cveMetadata": "{\"cveId\": \"CVE-2026-44898\", \"state\": \"PUBLISHED\", \"dateUpdated\": \"2026-05-27T17:57:38.643Z\", \"dateReserved\": \"2026-05-07T21:50:33.546Z\", \"assignerOrgId\": \"a0819718-46f1-4df5-94e2-005712e83aaa\", \"datePublished\": \"2026-05-26T20:41:53.805Z\", \"assignerShortName\": \"GitHub_M\"}",
      "dataType": "CVE_RECORD",
      "dataVersion": "5.2"
    }
  }
}



Log in or create an account to share your comment.




Tags
Taxonomy of the tags.


Loading…

Loading…

Loading…

Forecast uses a logistic model when the trend is rising, or an exponential decay model when the trend is falling. Fitted via linearized least squares.

Sightings

Author Source Type Date Other

Nomenclature

  • Seen: The vulnerability was mentioned, discussed, or observed by the user.
  • Confirmed: The vulnerability has been validated from an analyst's perspective.
  • Published Proof of Concept: A public proof of concept is available for this vulnerability.
  • Exploited: The vulnerability was observed as exploited by the user who reported the sighting.
  • Patched: The vulnerability was observed as successfully patched by the user who reported the sighting.
  • Not exploited: The vulnerability was not observed as exploited by the user who reported the sighting.
  • Not confirmed: The user expressed doubt about the validity of the vulnerability.
  • Not patched: The vulnerability was not observed as successfully patched by the user who reported the sighting.

Loading…

Detection rules are retrieved from Rulezet.

Loading…

Loading…

Loading…