Hackuritate

Meta repară vulnerabilitate critică în platforma de modele AI Llama

Meta a reparat în platforma open-source de modele de inteligență artificială (AI) Llama o vulnerabilitate critică ce putea permite unui atacator la distanță să execute cod pe servere.

Problema a fost cauzată de folosirea librăriei open-source pe nume PyZMQ (implementarea în Python a ZeroMQ) într-o manieră periculoasă ce lăsa posibilitatea furtului de resurse, unei breșe de date, și chiar preluarea controlului asupra modelelor AI de pe server.

Vulnerabilitatea este identificată acum ca CVE‑2024‑50050 și a fost descoperită de echipa de experți de la Oligo, o companie ce oferă soluții de securizare a aplicațiilor open source împotriva amenințărilor cibernetice.

Conform analizei companiei de securitate Snyk, severitatea vulnerabilității este de 9.3 pe o scară până la 10. Meta a acordat un scor de severitate mai mic, de 6.3, încadrând-o în clasa medie de risc.

Vulnerabilitatea constă în utilizarea de către librăria open-source PyZMQ a modulului Python ‘pickle’ pentru deserializarea obiectelor, proces ce duce la posibilitatea execuției de cod arbitrar în cazul folosirii de date pe care nu poți baza ca fiind sigure.

Problema este acum cunoscută dezvoltatorilor librăriei, care au introdus un avertisment clar în documentația pentru procesul de serializare că reconstruirea obiectelor folosind metoda ‘recv_pyobj’ este nesigură pentru că oferă execuție de cod arbitrar pentru orice mesaj primit.

Experții în securitate cibernetică de la Oligo spun că “în scenariile în care socket-ul ZeroMQ este expus în rețea, atacatorii ar putea exploata vulnerabilitatea trimițând obiecte rău intenționate la socket. Deoarece recv_pyobj va decupla aceste obiecte, un atacator ar putea realiza executarea codului arbitrar (RCE) pe mașina gazdă. “

Oligo a raportat vulnerabilitatea companiei Meta anul trecut pe 29 septembrie în conformitate cu principiile responsabilității. Experții au trimis și un proof-of-concept (PoC) care demonstrează posibilitatea exploatării pentru a obține de la distanță rularea de cod arbitrar (remote code execution – RCE).

Răspunsul a venit prompt următoarea zi, când Meta a început evaluarea problemei. Pe 30 octombrie, compania a validat vulnerabilitatea și a transmis că lucrează la eliminarea ei.

Problema a fost reparată în versiunea Llama-stack 0.0.41 prin înlocuirea modulului ‘pickle’ cu o implementare JSON a librăriei Pydantic pentru validarea datelor.

Dezvoltatorii librăriei PyZMQ au introdus în documentație un avertisment clar referitor la implicațiile de securitate când ‘recv_object’ este folosită cu dată care nu vine dintr-o sursă de încredere.