Skip to content
KitploitKITPLOIT
ToolsBlog
Submit
ToolsBlog
Submit

Hacking, PenTest, and Cybersecurity Tools for Your Security Arsenal!

Kitploit is a directory of hacking, cybersecurity, and pentesting tools. Discover the latest project updates to find vulnerabilities, analyze systems, automate testing, and strengthen your security.

··Feeds·Contact·Privacy·© 2026 Kitploit

Tool Directory

Categories

View all categories
Loading categories
CVE-2026-30691 — CVE-2026-30691: Stored Cross-Site Scripting (XSS) in @cyntler/react-doc-viewer | Kitploit
Tools/GitHubGitHub/walidriouah/cve-2026-30691
Vulnerability AnalysisWeb Application ExploitationWeb SecurityPapers & ResearchLearning & Education
GitHubwalidriouah/cve-2026-30691

CVE-2026-30691

CVE-2026-30691: Stored Cross-Site Scripting (XSS) in @cyntler/react-doc-viewer

View Repository
23 months agoNot yet reviewed

Most Popular

View all →

Discover the most used tools by our community.

Explore all tools

Browse our collection of tools

View all tools →
Share

CVE-2026-30691 - Vulnerability Advisory

Official MITRE vulnerability record details and technical documentation for CVE-2026-30691.


root@kitploit:~

-----BEGIN PGP SIGNED MESSAGE----- 
Hash: SHA256

[Suggested description] 
Cross-Site Scripting (XSS) vulnerability in @cyntler/react-doc-viewer v1.17.1 allows remote attackers to execute arbitrary JavaScript via a crafted .txt file. The TXTRenderer component fails to sanitize file content and explicitly casts raw data as a ReactNode.

[Additional Information] 
"The TXTRenderer is used by default for any text-based files. Since the library is widely used in React applications to preview user-uploaded content, this vulnerability poses a significant risk for applications that do not strictly validate file contents before passing them to the viewer."

[Vulnerability Type] Cross Site Scripting (XSS)
[Vendor of Product] cyntler
[Affected Product Code Base] @cyntler/react-doc-viewer - 1.17.1
[Affected Component] src/renderers/txt/index.tsx
[Attack Type] Remote
[Impact Code execution] true
[Impact Information Disclosure] true

[Attack Vectors] 
"An attacker must provide a specially crafted .txt file containing malicious HTML or JavaScript code. When the victim opens this file using the DocViewer component, the script executes in their browser."

[Reference] https://github.com/cyntler/react-doc-viewer/issues/317
[Discoverer] Walid Riouah

Use CVE-2026-30691.

-----BEGIN PGP SIGNATURE-----
-----END PGP SIGNATURE-----

🛠️ Detailed Technical Context

📝 Description

A Stored Cross-Site Scripting (XSS) vulnerability was identified in the @cyntler/react-doc-viewer package (v1.17.1). The vulnerability exists in the TXTRenderer component, which renders raw file content from .txt files by explicitly casting it as a ReactNode without any prior sanitization or entity escaping.


💻 Vulnerable Code

In src/renderers/txt/index.tsx:

root@kitploit:~

{currentDocument?.fileData as ReactNode}

🔬 Proof of Concept (PoC)

To reproduce the vulnerability, create a file named exploit.txt with the following explicit script payload and load it into the document viewer component:

root@kitploit:~

<h1 style="color: red;">Vulnerable!</h1>
<script>alert('XSS_SUCCESS'); document.body.style.background='red';</script>
<img src=x onerror="console.log('XSS_Executed_Successfully')">

🎯 Impact

An attacker can execute arbitrary JavaScript in the victim's browser context. This can lead to:

  • Session Hijacking: via client-side Cookie/LocalStorage data theft.
  • Unauthorized Actions: performed on behalf of the authenticated user session.
  • Application Defacement: and downstream phishing attacks targeting platform users.

🛡️ Recommended Fix

Sanitize the dynamic text input using an HTML sanitization library like DOMPurify before rendering, or avoid unsafe casting of raw string inputs to ReactNode objects:

root@kitploit:~

import DOMPurify from 'dompurify';

const sanitizedHTML = DOMPurify.sanitize(currentDocument?.fileData);
return <div dangerouslySetInnerHTML={{ __html: sanitizedHTML }} />;

Advisory curated by Walid Riouah (Cybersecurity Researcher & Red Teamer)

Download Tool