CVE-2026-102989: XSS critic neautentificat în TanStack Start
Vulnerabilitate critică (CVSS 9.3) de tip XSS reflectat în TanStack Start, fără autentificare. Ce este, pe cine afectează și cum te poți proteja.
CVE-2026-102989: XSS critic neautentificat în TanStack Start
În scurt
A fost publicată o vulnerabilitate critică, identificată ca CVE-2026-102989, cu un scor CVSS de 9.3 din 10 [1], care afectează aplicațiile web construite cu TanStack Start. Defectul permite ca un atacator, fără a avea nevoie de credențiale sau cont de utilizator, să facă aplicația să returneze o pagină cu conținut manipulat chiar din domeniul propriu al companiei, ceea ce poate duce la furt de date sau acțiuni neautorizate în numele victimei. Dacă echipa ta de dezvoltare folosește acest framework, recomandarea imediată este să actualizați la versiunile corectate și să verificați ce aplicații din producție îl utilizează.
Ce este și de ce este important
TanStack Start este un framework pentru construirea de aplicații web care combină logica de client și de server, disponibil în variante pentru React, Solid și Vue. Vulnerabilitatea se află în modul în care "funcțiile de server" (server functions) procesează cererile: un atacator poate include în cerere câmpuri care nu ar trebui să poată fi manipulate din exterior, astfel încât starea internă a aplicației să ajungă să accepte un obiect cu forma unui răspuns HTTP ca și cum ar fi un răspuns legitim [1]. Rezultatul practic este că un URL construit special poate face ca aplicația să returneze HTML controlat de atacator, inclusiv cod JavaScript, servit chiar din domeniul real al companiei.
Conform analizei echipei OCIRIA, este vorba despre o injecție XSS (cross-site scripting) reflectată care nu necesită autentificare prealabilă din partea atacatorului, ceea ce o face deosebit de delicată: este suficient ca un utilizator legitim să facă clic pe un link manipulat pentru ca scriptul să se execute în browserul său, cu acces la date de pe aceeași origine și capacitatea de a efectua cereri cu identitatea acelei persoane.
Vulnerabilitatea a fost publicată pe 13 octombrie 2026 [1] și este clasificată drept "critică" conform criteriilor NVD [1]. La data acestui articol, nu figurează în catalogul de vulnerabilități exploatate activ (KEV) al CISA [2], ceea ce indică faptul că nu există dovezi publice de exploatare masivă confirmată, însă acest lucru se poate schimba și nu trebuie interpretat ca absență a riscului.
Pe cine afectează
Problema afectează următoarele pachete din ecosistemul TanStack Start, în intervalele de versiuni indicate înainte de corectarea lor [3]:
- @tanstack/start-server-core: de la 1.143.12 până la 1.169.39
- @tanstack/react-start: până la 1.168.60
- @tanstack/solid-start: până la 1.168.57
- @tanstack/vue-start: până la 1.168.56
Orice organizație care are aplicații web proprii sau realizate de terți construite pe baza unuia dintre aceste pachete este potențial expusă, indiferent de dimensiunea companiei sau de sector. Nu este vorba despre un produs comercial concret al unui furnizor, ci despre o componentă de infrastructură de dezvoltare care poate fi integrată în portaluri pentru clienți, intranet-uri, panouri de administrare sau aplicații mobile cu backend web.
Cum să știi dacă ești vulnerabil
Primul pas este să întrebi persoanele care dezvoltă sau mențin aplicațiile voastre web dacă folosesc TanStack Start și, dacă da, ce versiune din pachetele afectate au instalată. Verificarea fișierului de dependențe (package.json sau fișierul lockfile corespunzător) este de obicei suficientă pentru a identifica versiunea exactă.
De asemenea, este recomandat să verifici ce aplicații și subdomenii ale companiei sunt expuse public pe internet, întrucât nu întotdeauna întregul inventar de active digitale este documentat la zi, mai ales în organizațiile cu mai multe echipe de dezvoltare sau furnizori externi. Cunoașterea suprafeței de expunere reale este punctul de pornire pentru a prioritiza ce trebuie verificat mai întâi.
Cum te poți proteja
1. Identifică dacă vreo aplicație a companiei folosește TanStack Start și în ce versiune.
2. Actualizează la versiunile corectate cât mai rapid posibil: @tanstack/start-server-core 1.169.39, @tanstack/react-start 1.168.60, @tanstack/solid-start 1.168.57 sau @tanstack/vue-start 1.168.56, în funcție de pachetul folosit [3].
3. Dacă nu poți actualiza imediat, cere echipei tehnice sau furnizorului tău să revizuiască logica de validare a funcțiilor de server, ca măsură temporară.
4. Auditează aplicațiile din producție după actualizare pentru a confirma că comportamentul este cel așteptat.
5. Verifică periodic ce tehnologii și versiuni folosesc aplicațiile voastre expuse, nu doar în urma unui avertisment punctual.
Întrebări frecvente
Am nevoie de un cont sau de credențiale compromise pentru a fi victima acestui atac?
Nu. Defectul nu necesită autentificare din partea atacatorului pentru a construi URL-ul malițios; victima trebuie doar să îl vizualizeze [1].
Este această vulnerabilitate exploatată activ în prezent?
La momentul actual nu apare în catalogul KEV al CISA, care înregistrează vulnerabilitățile cu exploatare confirmată [2]. Acest lucru nu garantează că nu va fi exploatată în viitor, motiv pentru care se recomandă să se acționeze cu aceeași prioritate ca în fața oricărui defect critic.
Afectează doar cei care folosesc React?
Nu. Afectează și variantele Solid și Vue ale framework-ului, pe lângă pachetul central al serverului [3].
Surse
- [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