CVE-2026-102989: XSS critico senza autenticazione in TanStack Start
Vulnerabilità critica (CVSS 9.3) di XSS riflesso in TanStack Start senza autenticazione. Cos'è, chi colpisce e come proteggerti.
CVE-2026-102989: XSS critico senza autenticazione in TanStack Start
In breve
È stata pubblicata una vulnerabilità critica, identificata come CVE-2026-102989, con un punteggio CVSS di 9.3 su 10 [1], che colpisce le applicazioni web costruite con TanStack Start. Il difetto consente a un attaccante, senza bisogno di credenziali né di un account utente, di far sì che l'applicazione restituisca una pagina con contenuto manipolato dal dominio stesso dell'azienda, il che può portare al furto di dati o ad azioni non autorizzate per conto della vittima. Se il tuo team di sviluppo utilizza questo framework, la raccomandazione immediata è aggiornare alle versioni corrette e verificare quali applicazioni in produzione lo utilizzano.
Cos'è e perché è importante
TanStack Start è un framework per costruire applicazioni web che combinano logica client e server, disponibile in varianti per React, Solid e Vue. La vulnerabilità risiede nel modo in cui le "funzioni server" (server functions) elaborano le richieste: un attaccante può includere nella richiesta campi che non dovrebbero essere manipolabili dall'esterno, in modo che lo stato interno dell'applicazione finisca per accettare un oggetto con forma di risposta HTTP come se fosse una risposta legittima [1]. Il risultato pratico è che un URL appositamente costruito può far sì che l'applicazione restituisca HTML controllato dall'attaccante, incluso codice JavaScript, servito dal dominio reale dell'azienda.
Secondo l'analisi del team di OCIRIA, si tratta di un'iniezione XSS (cross-site scripting) riflesso che non richiede autenticazione preventiva da parte dell'attaccante, il che la rende particolarmente delicata: basta che un utente legittimo clicchi su un link manipolato perché lo script venga eseguito nel suo browser, con accesso ai dati della stessa origine e capacità di effettuare richieste con l'identità di quella persona.
La vulnerabilità è stata pubblicata il 13 ottobre 2026 [1] ed è classificata come "critica" secondo i criteri di NVD [1]. Alla data di questo post, non figura nel catalogo delle vulnerabilità sfruttate attivamente (KEV) di CISA [2], il che indica che non vi è evidenza pubblica di uno sfruttamento massivo confermato, anche se questo può cambiare e non deve essere interpretato come assenza di rischio.
Chi colpisce
Il problema colpisce i seguenti pacchetti dell'ecosistema TanStack Start, negli intervalli di versione indicati prima della loro correzione [3]:
- @tanstack/start-server-core: da 1.143.12 a 1.169.39
- @tanstack/react-start: fino a 1.168.60
- @tanstack/solid-start: fino a 1.168.57
- @tanstack/vue-start: fino a 1.168.56
Qualsiasi organizzazione che disponga di applicazioni web proprie o commissionate a terzi costruite su uno di questi pacchetti è potenzialmente esposta, indipendentemente dalle dimensioni dell'azienda o dal settore. Non si tratta di un prodotto commerciale specifico di un fornitore, ma di un elemento dell'infrastruttura di sviluppo che può essere integrato in portali clienti, intranet, pannelli di amministrazione o applicazioni mobili con backend web.
Come sapere se sei vulnerabile
Il primo passo è chiedere a chi sviluppa o mantiene le vostre applicazioni web se utilizzano TanStack Start e, in caso affermativo, quale versione dei pacchetti interessati hanno installata. Controllare il file delle dipendenze (package.json o il relativo lockfile) è solitamente sufficiente per identificare la versione esatta.
È inoltre consigliabile verificare quali applicazioni e sottodomini dell'azienda sono esposti pubblicamente su internet, poiché non sempre l'intero inventario degli asset digitali è documentato in modo aggiornato, soprattutto nelle organizzazioni con diversi team di sviluppo o fornitori esterni. Conoscere la superficie di esposizione reale è il punto di partenza per stabilire le priorità su cosa verificare prima.
Come proteggersi
1. Identifica se qualche applicazione dell'azienda utilizza TanStack Start e in quale versione.
2. Aggiorna alle versioni corrette quanto prima: @tanstack/start-server-core 1.169.39, @tanstack/react-start 1.168.60, @tanstack/solid-start 1.168.57 o @tanstack/vue-start 1.168.56, in base al pacchetto che utilizzi [3].
3. Se non puoi aggiornare immediatamente, chiedi al tuo team tecnico o al fornitore di rivedere la logica di validazione delle funzioni server come misura temporanea.
4. Verifica le applicazioni in produzione dopo l'aggiornamento per confermare che il comportamento sia quello previsto.
5. Controlla periodicamente quali tecnologie e versioni utilizzano le vostre applicazioni esposte, non solo in risposta a un avviso puntuale.
FAQ
Devo avere un account o credenziali compromesse per essere vittima di questo attacco?
No. Il difetto non richiede autenticazione da parte dell'attaccante per costruire l'URL malevolo; la vittima deve solo visitarlo [1].
Questa vulnerabilità viene sfruttata attivamente?
A oggi non appare nel catalogo KEV di CISA, che raccoglie le vulnerabilità con sfruttamento confermato [2]. Ciò non garantisce che non verrà sfruttata in futuro, per cui si raccomanda di agire con la stessa priorità riservata a qualsiasi difetto critico.
Colpisce solo chi utilizza React?
No. Colpisce anche le varianti Solid e Vue del framework, oltre al pacchetto centrale del server [3].
Fonti
- [1] https://nvd.nist.gov/vuln/detail/CVE-2026-102989
- [2] https://raw.githubusercontent.com/cisagov/kev-data/develop/known_exploited_vulnerabilities.json
- [3] https://github.com/advisories/GHSA-qx66-fv34-fjm8