Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
CVE-2026-30691 — CVE-2026-30691: Cross-Site Scripting Memorizzato (XSS) in @cyntler/react-doc-viewer | Kitploit
Strumenti/GitHubGitHub/walidriouah/cve-2026-30691
Analisi delle VulnerabilitàSfruttamento di Applicazioni WebSicurezza WebPaper e RicercaApprendimento e Formazione
GitHubwalidriouah/cve-2026-30691

CVE-2026-30691

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

Vedi Repository
23 mesi faNon ancora revisionato

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi

CVE-2026-30691 - Avviso di vulnerabilità

Dettagli ufficiali del record di vulnerabilità MITRE e documentazione tecnica per CVE-2026-30691.


root@kitploit:~

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

[Suggerita descrizione]
Vulnerabilità di Cross-Site Scripting (XSS) in @cyntler/react-doc-viewer v1.17.1 consente a un attaccante remoto di eseguire JavaScript arbitrario tramite un file .txt appositamente creato. Il componente TXTRenderer non sanifica il contenuto del file e lancia esplicitamente i dati grezzi come ReactNode.

[Informazioni aggiuntive]
"Il TXTRenderer è utilizzato per impostazione predefinita per qualsiasi file basato su testo. Poiché la libreria è ampiamente utilizzata nelle applicazioni React per visualizzare in anteprima i contenuti caricati dagli utenti, questa vulnerabilità rappresenta un rischio significativo per le applicazioni che non convalidano rigorosamente i contenuti dei file prima di passarli al visualizzatore."

[Tipo di vulnerabilità] Cross Site Scripting (XSS)
[Fornitore del prodotto] cyntler
[Base del codice prodotto affetto] @cyntler/react-doc-viewer - 1.17.1
[Componente affetto] src/renderers/txt/index.tsx
[Tipo di attacco] Remoto
[Impatto esecuzione codice] true
[Impatto divulgazione informazioni] true

[Vettori d'attacco]
"Un attaccante deve fornire un file .txt appositamente creato contenente codice HTML o JavaScript malevolo. Quando la vittima apre questo file utilizzando il componente DocViewer, lo script viene eseguito nel suo browser."

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

Usare CVE-2026-30691.

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

🛠️ Contesto Tecnico Dettagliato

📝 Descrizione

Una vulnerabilità di Cross-Site Scripting (XSS) persistente è stata identificata nel pacchetto @cyntler/react-doc-viewer (v1.17.1). La vulnerabilità esiste nel componente TXTRenderer, che renderizza il contenuto grezzo del file da file .txt lanciandolo esplicitamente come ReactNode senza alcuna sanificazione o escaping delle entità.


💻 Codice Vulnerabile

In src/renderers/txt/index.tsx:

root@kitploit:~

{currentDocument?.fileData as ReactNode}

🔬 Prova di Concetto (PoC)

Per riprodurre la vulnerabilità, creare un file chiamato exploit.txt con il seguente payload esplicito di script e caricarlo nel componente di visualizzazione dei documenti:

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

🎯 Impatto

Un attaccante può eseguire JavaScript arbitrario nel contesto del browser della vittima. Questo può portare a:

  • Dirottamento di sessione: tramite furto di dati Cookie/LocalStorage lato client.
  • Azioni non autorizzate: eseguite per conto della sessione utente autenticata.
  • Deturpamento dell'applicazione: e attacchi di phishing a valle mirati agli utenti della piattaforma.

🛡️ Correzione Raccomandata

Sanitizzare l'input di testo dinamico utilizzando una libreria di sanitizzazione HTML come DOMPurify prima del rendering, oppure evitare il casting non sicuro di stringhe grezze a oggetti ReactNode:

root@kitploit:~

import DOMPurify from 'dompurify';

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

Advisory curato da Walid Riouah (Ricercatore di Cybersecurity & Red Teamer)

Scarica lo strumento