---
id: CVE-2026-91944
title: >-
  crawl4ai versions before 0.9.3 contain a DOM-based cross-site scripting
  vulnerability in the Playground UI where the forceHighlightElement() function
  assigns textContent back to innerHTML, re-parsing JSON responses as HTML
summary: >-
  crawl4ai versions before 0.9.3 contain a DOM-based cross-site scripting
  vulnerability in the Playground UI where the forceHighlightElement() function
  assigns textContent back to innerHTML, re-parsing JSON responses as HTML.
  Attackers can…
severity: medium
cvss: 6.1
cvssVector: 'CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N'
cwe:
  - CWE-79
vendor: unclecode
product: crawl4ai
affected:
  - crawl4ai < 0.9.3
published: '2026-09-15'
updated: '2026-09-17'
sourceUpdated: '2026-09-17T20:18:54.090'
source: NVD
sourceUrl: 'https://nvd.nist.gov/vuln/detail/CVE-2026-91944'
references:
  - url: >-
      https://github.com/unclecode/crawl4ai/security/advisories/GHSA-m446-hp3q-qfxp
    label: disclosure@vulncheck.com
  - url: >-
      https://www.vulncheck.com/advisories/crawl4ai-before-0.9.3-dom-based-xss-via-playground-ui
    label: disclosure@vulncheck.com
tags:
  - nvd
  - cve.org
ssvc:
  exploitation: none
  automatable: 'yes'
  technicalImpact: partial
  timestamp: '2026-09-17T19:15:25.809350Z'
epss: 0.00263
epssPercentile: 0.16081
ingestedAt: '2026-09-15T15:39:12.923Z'
---

## Overview

crawl4ai versions before 0.9.3 contain a DOM-based cross-site scripting vulnerability in the Playground UI where the forceHighlightElement() function assigns textContent back to innerHTML, re-parsing JSON responses as HTML. Attackers can inject malicious scripts through crawled page content like the page title to steal the operator's API token from sessionStorage and gain full server control.

## Remediation

Refer to the linked advisories for vendor-supplied fixes and affected version ranges.
