Skip to content
KitploitKITPLOIT
ToolsExploitsBlog
Log in
Einreichen
ToolsExploitsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
CVE-2026-30691 — CVE-2026-30691: Gespeichertes Cross-Site-Scripting (XSS) in @cyntler/react-doc-viewer | Kitploit
Tools/GitHubGitHub/walidriouah/cve-2026-30691
SchwachstellenanalyseWebanwendungs-ExploitationWebsicherheitPapers & ForschungLernen & Bildung
GitHubwalidriouah/cve-2026-30691

CVE-2026-30691

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

Repository anzeigen
12vor 4 MonatenNoch nicht geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

CVE-2026-30691 - Sicherheitshinweis

Offizielle Details zum MITRE-Schwachstelleneintrag und technische Dokumentation für CVE-2026-30691.



-----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-----

🛠️ Detaillierter technischer Kontext

📝 Beschreibung

Eine Stored-Cross-Site-Scripting-Schwachstelle (XSS) wurde im Paket @cyntler/react-doc-viewer (v1.17.1) identifiziert. Die Schwachstelle existiert in der Komponente TXTRenderer, die rohen Dateiinhalt aus .txt-Dateien rendert, indem sie ihn explizit als ReactNode castet, ohne vorherige Bereinigung oder Entity-Escaping.


💻 Verwundbarer Code

In src/renderers/txt/index.tsx:


{currentDocument?.fileData as ReactNode}

🔬 Proof of Concept (PoC)

Um die Schwachstelle zu reproduzieren, erstellen Sie eine Datei namens exploit.txt mit dem folgenden expliziten Skript-Payload und laden Sie sie in die Dokument-Viewer-Komponente:


<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')">

🎯 Auswirkungen

Ein Angreifer kann beliebiges JavaScript im Browser-Kontext des Opfers ausführen. Dies kann zu Folgendem führen:

  • Session-Hijacking: durch clientseitigen Diebstahl von Cookie-/LocalStorage-Daten.
  • Nicht autorisierte Aktionen: die im Namen der authentifizierten Benutzersitzung ausgeführt werden.
  • Anwendungs-Defacement: und nachgelagerte Phishing-Angriffe, die auf Plattformnutzer abzielen.

🛡️ Empfohlener Fix

Bereinigen Sie die dynamische Texteingabe vor dem Rendern mit einer HTML-Bereinigungsbibliothek wie DOMPurify oder vermeiden Sie unsicheres Casting von rohen String-Eingaben in ReactNode-Objekte:


import DOMPurify from 'dompurify';

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

Sicherheitshinweis kuratiert von Walid Riouah (Cybersecurity-Forscher & Red Teamer)

Tool herunterladen