Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
CVE-2026-30691 — CVE-2026-30691: Cross-Site Scripting stocké (XSS) dans @cyntler/react-doc-viewer | Kitploit
Outils/GitHubGitHub/walidriouah/cve-2026-30691
Analyse des VulnérabilitésExploitation d'Applications WebSécurité WebArticles et RechercheApprentissage et Éducation
GitHubwalidriouah/cve-2026-30691

CVE-2026-30691

CVE-2026-30691: Cross-Site Scripting stocké (XSS) dans @cyntler/react-doc-viewer

Voir le dépôt
2il y a 3 moisPas encore vérifié

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

CVE-2026-30691 - Avis de vulnérabilité

Détails officiels de l'enregistrement de vulnérabilité MITRE et documentation technique pour 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-----

🛠️ Contexte technique détaillé

📝 Description

Une vulnérabilité de type Cross-Site Scripting (XSS) stocké a été identifiée dans le paquet @cyntler/react-doc-viewer (v1.17.1). La vulnérabilité se situe dans le composant TXTRenderer, qui rend le contenu brut des fichiers .txt en le convertissant explicitement en ReactNode sans aucune désinfection préalable ni échappement des entités.


💻 Code vulnérable

Dans src/renderers/txt/index.tsx :

root@kitploit:~

{currentDocument?.fileData as ReactNode}

🔬 Preuve de concept (PoC)

Pour reproduire la vulnérabilité, créez un fichier nommé exploit.txt contenant la charge utile de script explicite suivante, puis chargez-le dans le composant de visionneuse de documents :

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

Un attaquant peut exécuter du JavaScript arbitraire dans le contexte du navigateur de la victime. Cela peut entraîner :

  • Détournement de session : via le vol de données Cookie/LocalStorage côté client.
  • Actions non autorisées : effectuées au nom de la session utilisateur authentifiée.
  • Défacement de l'application : et attaques de phishing en aval ciblant les utilisateurs de la plateforme.

🛡️ Correctif recommandé

Désinfectez l'entrée de texte dynamique à l'aide d'une bibliothèque de désinfection HTML comme DOMPurify avant le rendu, ou évitez la conversion non sécurisée d'entrées de chaînes brutes en objets ReactNode :

root@kitploit:~

import DOMPurify from 'dompurify';

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

Avis de sécurité préparé par Walid Riouah (Chercheur en cybersécurité & Red Teamer)

Télécharger l’outil