Exploit public pentru o vulnerabilitate pre-autentificare în AnyDesk pentru Linux care oferă acces root
Un exploit funcțional (proof-of-concept) a fost publicat pentru o vulnerabilitate de execuție de cod la distanță, fără autentificare, în AnyDesk pentru Linux. Pe un sistem vulnerabil, un atacator poate rula comenzi ca root înainte ca cineva să accepte conexiunea. AnyDesk a corectat problema în versiunea 8.0.3, încă din iunie. Remedierea a trecut însă aproape neobservată: changelog-ul a descris-o ca pe un fix pentru un crash, iar până acum nu există CVE sau buletin de securitate. Multe organizații s-ar putea să nu o fi tratat ca urgentă.
Ce s-a întâmplat
- Vulnerabilitatea a fost descoperită de Rick de Jager din echipa de securitate V12, cu ajutorul motorului automat de analiză a codului dezvoltat de V12. Cercetătorii au raportat-o pe 22 iunie. AnyDesk a confirmat-o a doua zi și a lansat versiunea 8.0.3 cu remedierea.
- Pe 8 octombrie, cercetătorii au publicat pe GitHub exploit-ul complet, numit AnyPwn, împreună cu un clip demonstrativ.
- La data de 9 octombrie nu fusese atribuit niciun CVE, iar AnyDesk nu publicase un buletin de securitate oficial. Changelog-ul versiunii 8.0.3 menționează doar remedierea unei erori „care putea duce la un crash”.
- Potrivit AnyDesk, problema afectează doar conexiunile directe (fără relay) pe Linux. Windows și macOS nu sunt afectate.
Cum funcționează vulnerabilitatea (pe scurt)
Problema se află în protocolul de sesiune al AnyDesk. Când clientul procesează un anumit tip de pachet de date, stabilește dimensiunea unui buffer adunând un mic antet la lungimea declarată de atacator. Calculul se face pe 32 de biți, fără verificare de depășire. O lungime construită special face ca suma să „se întoarcă” la o valoare foarte mică. Programul alocă astfel un buffer mic, dar scrie în el date ca și cum ar fi mare, ceea ce produce un heap buffer overflow. Exploit-ul public folosește această eroare pentru a altera obiectele vecine din memorie și a rula o comandă arbitrară ca root.
Limitele exploit-ului public:
- Funcționează prin conexiuni TCP directe pe portul 7070.
- Este probabilistic. Memoria trebuie să fie aranjată într-un anumit fel, iar altfel serviciul doar se blochează (crash).
- Valorile din cod sunt calibrate pentru AnyDesk Linux 8.0.2. Alte versiuni ar necesita ajustări. Cercetătorii sugerează că și versiuni mai vechi, precum 8.0.1, ar putea conține codul vulnerabil, dar exploatarea lor nu a fost confirmată.
- Cercetătorii spun că aceeași zonă de cod poate fi atinsă și prin serverele relay ale AnyDesk, lucru verificat cu ajutorul unor instrumente de analiză. Lanțul complet de exploatare prin relay nu a fost demonstrat, așa că nu se știe încă dacă vulnerabilitatea poate fi exploatată complet pe această cale.
Este o vulnerabilitate diferită de CVE-2025-27918, un integer overflow în procesarea imaginilor de utilizator, care afecta toate platformele și a fost corectat în versiunea 7.0.0, în aprilie 2025.
De ce contează
- Instrumentele de acces la distanță sunt ținte valoroase. AnyDesk este folosit pe scară largă pentru suport IT și este des instalat pe servere și pe stațiile administratorilor. Acces root fără autentificare pe aceste sisteme înseamnă control total, fără parole furate și fără interacțiunea utilizatorului.
- Remedierile „silențioase” sunt ratate. Procesele de patch management care se bazează pe CVE-uri sau pe buletinele producătorilor nu ar fi marcat 8.0.3 ca actualizare de securitate. Sistemele Linux rămase în urmă cu actualizările sunt, probabil, încă expuse.
- Codul public scade bariera de intrare. Deocamdată exploit-ul vizează o singură versiune și nu reușește de fiecare dată, dar un cod funcțional publicat este de obicei adaptat rapid pentru alte versiuni.
Ce trebuie să faci
- Inventariază AnyDesk pe Linux. Identifică toate stațiile și serverele Linux care rulează AnyDesk, inclusiv instalările făcute ad-hoc de echipele de suport sau de furnizori.
- Actualizează acum. Treci la 8.0.3 sau mai nou. Versiunea curentă este 8.1.0. Tratează actualizarea ca pe un patch de securitate, chiar dacă nu există CVE.
- Restricționează portul TCP 7070. Dacă nu poți actualiza imediat, blochează sau limitează strict accesul la portul TCP 7070 (conexiunile directe AnyDesk), mai ales din internet.
- Elimină ce nu folosești. Dezinstalează AnyDesk de pe serverele și sistemele care nu au nevoie de acces de la distanță nesupravegheat și standardizează pe o singură soluție aprobată.
- Urmărește crash-urile. O tentativă de exploatare eșuată blochează serviciul, așa că tratează crash-urile inexplicabile ale AnyDesk pe Linux ca pe un posibil semnal și investighează-le.
- Nu te baza doar pe fluxurile de CVE. Urmărește changelog-urile producătorilor pentru software-ul critic de acces la distanță și include aceste instrumente în monitorizarea expunerii.
4Tify cartografiază continuu serviciile expuse, cum ar fi porturile de acces la distanță, pe întreaga suprafață de atac externă, ca să poți găsi și închide astfel de probleme înainte să devină ținte.
Raportat inițial de The Hacker News.
