Vite CVE-2026-39364: servere dev expuse și secrete cloud
Pe 11 septembrie 2026, F5 Labs a publicat o analiză a unei campanii de scanare în masă care caută servere de dezvoltare Vite expuse în internet și încearcă să extragă din ele fișiere de configurare și credențiale cloud. Senzorii honeynet ai F5 au înregistrat în august 2026 aproximativ 807 atacuri grupate pe sesiune și în jur de 32.000 de evenimente brute, față de 1.732 de evenimente în cele trei luni anterioare. Pe 14 septembrie, BleepingComputer a relatat independent campania.
Vulnerabilitatea exploatată, CVE-2026-39364, nu este nouă. A fost publicată pe 7 aprilie 2026 și corectată în Vite 7.3.2 și 8.0.5. Noutatea este măsurarea: cineva scanează sistematic după ea, cu liste de fișiere construite explicit pentru chei AWS, tokenuri Azure și state Terraform. Pentru echipele care rulează Vite, și platforma Awarely Monitor este una dintre ele, întrebarea utilă nu este dacă vulnerabilitatea este cunoscută, ci dacă vreun server de dezvoltare este ascultat pe altceva decât localhost.
Ce face vulnerabilitatea și cine este efectiv afectat
Advisory-ul Vite descrie problema ca o ocolire a listei server.fs.deny prin parametri de interogare. Fișiere care ar trebui blocate, de exemplu .env sau certificate .crt, pot fi returnate cu răspuns HTTP 200 atunci când cererii i se adaugă parametri precum raw, combinația import și raw, sau combinația import, url și inline. Filtrul de refuz nu se aplică pe aceste forme de cerere, iar fișierul este servit în clar.
Condiția de expunere este decisivă și merită citită exact. Advisory-ul precizează că sunt afectate doar aplicațiile care expun explicit serverul de dezvoltare Vite în rețea, prin opțiunea host din linia de comandă sau prin opțiunea de configurare server.host. Un server de dezvoltare legat implicit la localhost nu este accesibil pe acest drum. Asta transformă întrebarea dintr-una despre versiuni într-una despre configurație și expunere de rețea.
Versiunile afectate sunt vite de la 7.1.0 până la 7.3.1 inclusiv și de la 8.0.0 până la 8.0.4 inclusiv, plus pachetul vite-plus până la 0.1.15 inclusiv. Corecțiile sunt 7.3.2, 8.0.5 și respectiv 0.1.16. Severitatea este evaluată diferit de scoreri diferiți: 8.2 pe CVSS 4.0 în advisory-ul de furnizor și 7.5 pe CVSS 3.1 în NVD. Ambele sunt High, iar diferența nu schimbă acțiunea.
Ce arată telemetria F5 și ce nu arată
F5 descrie liste de cereri construite pentru credențiale, nu pentru conținut de aplicație. Au fost cerute variante de fișiere de mediu, între care .env.local, .env.production, .env.development și .env.staging, fișiere de credențiale AWS din numeroase directoare home, printre care cele ale utilizatorilor ec2-user, ubuntu, node, www-data, admin și debian, precum și din var/www și din directoare de aplicație, fișiere Azure de tip credentials și accessTokens.json, state și variabile Terraform, configurații serverless și fișiere de sistem precum etc/passwd, proc/self/environ și proc/1/environ. Campania a sondat și probleme Vite mai vechi, CVE-2025-30208, CVE-2025-31125 și CVE-2024-45811.
Traficul a venit preponderent din infrastructură de găzduire în cloud, cu concentrări în intervalele Google Cloud 34.x și 35.x. Pe țări sursă, F5 a numărat 17.297 de evenimente din Statele Unite, 4.407 din Belgia, 4.011 din Olanda, 2.842 din Singapore și 1.994 din Taiwan. Aceste cifre descriu de unde a plecat traficul observat, nu unde se află operatorii. F5 precizează că a identificat infrastructura de găzduire, nu originea geografică a celor care o folosesc.
Limita cea mai importantă este că F5 raportează scanare și încercări de exploatare observate de senzorii proprii. Raportul nu prezintă breșe confirmate, exfiltrări confirmate de credențiale sau organizații victimă. Cifrele de 807 atacuri și circa 32.000 de evenimente descriu ce a văzut un honeynet într-o lună. Nu sunt un număr de servere expuse, de organizații afectate sau de credențiale furate. Un fișier apărut într-o listă de cereri nu înseamnă că a fost servit.
Stabilește expunerea înainte de a discuta versiuni
- ▸Identifică unde rulează efectiv servere de dezvoltare Vite: laptopuri, medii de preview, containere de dezvoltare, runneri CI care pornesc un dev server pentru teste, medii de demonstrație și orice instanță rămasă pornită după o sesiune de lucru.
- ▸Pentru fiecare, verifică pe ce interfață ascultă procesul, nu ce scrie în documentație. Un dev server legat la 0.0.0.0 într-un container cu port publicat este expus chiar dacă fișierul de configurație pare inofensiv. Verifică și regulile de publicare a porturilor, tunelurile de dezvoltare și orice reverse proxy care expune mediul de lucru.
- ▸Caută intenția de expunere în cod și în scripturi: opțiunea host în comenzile de pornire, valoarea server.host din configurație, variabile de mediu care o setează și fișiere de compunere care publică portul dev în afara rețelei locale.
- ▸Notează versiunea exactă de vite pentru fiecare depozit și pentru fiecare proces care rulează. Versiunea din lockfile și versiunea instalată efectiv într-o imagine mai veche pot să difere, iar cea care contează este cea care rulează.
- ▸Tratează separat pachetul vite-plus, care are propriul interval afectat și propria corecție, și dependențele tranzitive care aduc vite într-un proiect fără ca el să apară în dependențele directe.
Corectează, apoi închide calea de expunere
Actualizează la 7.3.2, 8.0.5 sau o versiune ulterioară corectată, respectiv 0.1.16 pentru vite-plus. Aceasta este remedierea vulnerabilității. Nu este însă și remedierea problemei de fond, pentru că un server de dezvoltare accesibil din internet rămâne o suprafață de atac și după patch, expusă la orice problemă viitoare din aceeași categorie.
F5 recomandă explicit ca serverele de dezvoltare să nu fie legate la interfețe externe. Dacă un membru al echipei are nevoie de acces de la distanță la un mediu de lucru, tratează asta ca pe o cerință de acces, rezolvată prin canalul de acces al organizației, nu prin expunerea directă a procesului de dezvoltare. Recomandările F5 includ și blocarea cererilor care conțin segmentul de cale fs, folosirea semnăturilor de protecție la nivel de WAF acolo unde există, și verificarea boților prin DNS invers în loc de antetul User-Agent, care poate fi falsificat trivial.
Dacă un server de dezvoltare a fost expus într-o versiune afectată, tratează secretele accesibile din acel mediu ca fiind potențial expuse și decide rotația explicit. F5 recomandă rotirea secretelor expuse, inclusiv credențiale AWS și fișiere de state Terraform. Un state Terraform merită atenție separată, pentru că poate conține valori sensibile în clar chiar dacă nimeni nu l-a considerat vreodată un fișier de secrete.
Caută în loguri fără să tragi concluzii pripite
Dacă ai avut un dev server expus, caută în logurile de reverse proxy, WAF, load balancer sau ale serverului însuși cereri care conțin parametrii descriși, segmentul de cale fs, și numele de fișiere din lista de mai sus. Corelează adresa sursă, momentul, calea cerută și codul de răspuns. Un răspuns 200 pentru un fișier de mediu este un indiciu mult mai serios decât un 403 sau un 404 pe aceeași cale.
Retenția este de obicei factorul limitativ. Un mediu de dezvoltare are rareori logare centralizată cu retenție lungă, iar campania măsurată de F5 acoperă luna august 2026. Notează explicit cât de departe în trecut ai putut căuta. O căutare care acoperă șapte zile nu spune nimic despre iulie, iar diferența trebuie să apară în concluzie, nu doar în memoria celui care a făcut căutarea.
Rotește credențialele pe baza expunerii demonstrate sau pe baza unei decizii de precauție documentate. Nu afirma că au fost furate chei AWS, tokenuri Azure sau state Terraform fără dovezi specifice mediului tău. Invers, absența unui log nu este dovada că nu s-a întâmplat nimic, mai ales într-un mediu în care logarea nu a fost niciodată proiectată pentru investigație.
Dovada minimă pentru închidere
Awarely Monitor ajută la urmărirea contextului CVE, la atribuirea responsabililor și la păstrarea dovezilor deciziilor de remediere. Nu scanează rețeaua după servere de dezvoltare expuse, nu citește logurile tale, nu actualizează dependențe și nu rotește secrete. Descoperirea expunerii, verificarea versiunilor și rotația credențialelor rămân în uneltele de inventar, în procesul de build și în controalele cloud ale organizației.
- ▸Lista mediilor de dezvoltare analizate, cu owner, interfața pe care ascultau, versiunea vite observată și momentul verificării.
- ▸Decizia și schimbarea pentru fiecare mediu expus: actualizare la versiunea corectată, oprirea expunerii, sau excepție cu termen și responsabil.
- ▸Domeniul căutării în loguri, retenția disponibilă, tiparele căutate, rezultatul și limitele explicite ale investigației.
- ▸Inventarul secretelor care erau accesibile din mediile expuse, ce s-a rotit, când, de către cine, și motivul documentat pentru ce nu s-a rotit.
- ▸Legătura dintre CVE, mediul afectat, responsabil și dovezile păstrate până la închiderea revizuirii.
Începe de la expunere, nu de la versiune
Awarely Monitor ajută la urmărirea contextului CVE, a responsabililor și a dovezilor. Descoperirea mediilor expuse, verificarea versiunilor și rotația secretelor rămân în uneltele tale de inventar și în controalele cloud.
