CVE-2026-91944: crawl4ai before 0.9.3 DOM-based XSS via Playground UI
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.
Affected Software
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Upgrade
Upgrade
crawl4aito a version that resolves this vulnerability.Fixed in 0.9.3 - Configuration
Update crawl4ai to v0.9.3 or later so the Playground UI no longer uses forceHighlightElement() to assign textContent back to innerHTML, which re-parses JSON responses as HTML and enables DOM-based XSS.
crawl4ai Playground UI forceHighlightElement() handling of JSON responses (textContent assigned back to innerHTML) = Do not assign textContent to innerHTML; prevent re-parsing JSON responses as HTML
Event History
Frequently Asked Questions
Who is exposed to this issue?
Operators using the Crawl4AI Playground UI on versions before 0.9.3 are exposed when the UI processes crawled content that an attacker can influence, such as a page title.
What does an attacker need to exploit it?
An attacker needs to cause a target operator to use the Playground UI to crawl or process page content containing a malicious payload. No attacker authentication is indicated, but user interaction is required.
What can an attacker gain from successful exploitation?
A successful payload can steal the operator's API token from sessionStorage. The provided information states that this can give the attacker full server control.
How can this be remediated?
Upgrade Crawl4AI to version 0.9.3 or later. The issue affects versions before 0.9.3.