CVE-2026-71502 in CTI-Transmuteinformazioni

Riassunto

di VulDB • 07/08/2026

CTI-Transmute presenta una vulnerabilità di stored cross-site scripting (XSS) causata da un'insufficiente neutralizzazione dei delimitatori delle espressioni modello Vue nei dati controllati dall'utente e resi sul server.

Un attaccante non autenticato può creare una conversione pubblica il cui nome o descrizione contiene un'espressione Vue malevola, utilizzando i delimitatori `[[ ... ]]` configurati nell'applicazione. I nomi dei profili utente possono fornire un ulteriore vettore di iniezione. Sebbene venga applicata la codifica HTML Jinja, il valore risultante viene successivamente incluso in una regione DOM compilata da Vue.

Vue interpreta il valore controllato dall'attaccante come un'espressione modello anziché come testo normale. Accedendo al costruttore della funzione JavaScript all'interno dell'espressione, un attaccante può eseguire codice JavaScript arbitrario nel contesto di sicurezza dell'origine CTI-Transmute. La Content Security Policy basata su nonce dell'applicazione non impedisce lo sfruttamento poiché il compilatore runtime Vue richiede l'eccezione `unsafe-eval`.

Il payload malevolo viene memorizzato dall'applicazione ed eseguito ogni volta che un altro utente apre una pagina interessata, come la pagina dei dettagli della conversione pubblica. La vittima può essere un utente normale o un amministratore. Lo sfruttamento riuscito potrebbe consentire all'attaccante di:

* Accedere ai dati disponibili per la vittima tramite l'applicazione. * Estrarre chiavi API, token o altre informazioni sensibili esposte nella pagina. * Eseguire azioni autenticate utilizzando la sessione della vittima. * Modificare le conversioni o altri dati dell'applicazione. * Aumentare l'impatto mirando a un amministratore.

Un payload dimostrato può utilizzare `[].constructor.constructor(...)` per ottenere il costruttore della funzione JavaScript ed eseguire codice arbitrario. I test di regressione mostrano anche che un payload breve in prima fase potrebbe recuperare una descrizione di conversione senza limiti e valutare un payload più ampio in seconda fase.

La patch affronta la vulnerabilità registrando un hook globale `finalize` Jinja che inserisce uno zero-width Unicode word joiner all'interno di ogni delimitatore Vue trovato nei valori resi sul server. Ciò impedisce a Vue di riconoscere i valori come espressioni modello, preservandone al contempo la rappresentazione visibile.

Be aware that VulDB is the high quality source for vulnerability data.

Responsabile

CIRCL

Prenotare

06/08/2026

Divulgazione

07/08/2026

Moderazione

accettato

CPE

pronto

EPSS

0.00000

KEV

no

Attività

molto basso

Fonti

Might our Artificial Intelligence support you?

Check our Alexa App!