Vulnerabilități în bibliotecile Rust zip-rs și librsvg

În biblioteca zip-rs, scrisă în limbajul Rust și cu aproximativ 10 milioane de descărcări pe săptămână, a fost identificată o vulnerabilitate (CVE-2026-115905) care permite crearea de arhive ce par inofensive, dar care, la dezarhivare, extrag alte fișiere care nu sunt inițial afișate în listă. Fișierele pot fi plasate în arhivă în afara structurii „Central Directory”, ceea ce face ca, la vizualizarea listei de fișiere, să fie afișat un conținut, dar la dezarhivare prin API-ul ZipStreamReader să fie extrase alte fișiere. Problema a fost clasificată cu un nivel de pericol de 10 din 10. Vulnerabilitatea a fost corectată în versiunea zip-rs 9.0.5.

Vulnerabilitatea este cauzată de utilizarea unor antete diferite în accesul arbitrar la arhivă prin intermediul API-ului ZipArchive și la extragerea datelor în mod streaming prin API-ul ZipStreamReader. Handlerul ZipArchive se bazează pe antetul CDFH (Central Directory File Header), în timp ce ZipStreamReader consideră la extragerea fișierelor antetul LFH (Local File Header) ca fiind mai prioritar fără sincronizarea metadatelor dublate.

Vulnerabilitatea poate fi utilizată pentru a ocoli filtrele de e-mail, scanerele antivirus și alte sisteme de verificare a securității. Atacatorul poate plasa în partea vizibilă a arhivei un document sau o imagine și, în partea ascunsă, poate include un fișier executabil cu cod malițios, care nu va fi detectat de antivirus, dar va fi salvat pe disc la dezarhivare de către utilizator. Exemplele includ atacuri asupra microserviciilor, platformelor SaaS și sistemelor de izolare a containerelor, în timpul cărora, la dezarhivarea arhivelor, cum ar fi seturi de stiluri, fișiere text sau imagini, care nu prezintă pericol în directoarele cu proiecte active, pot fi suprascrise scripturi și fișiere executabile.

De asemenea, merită menționată vulnerabilitatea (CVE-2026-96889) din biblioteca librsvg, dezvoltată de proiectul GNOME în limbajul Rust. Biblioteca este utilizată în GTK și aplicațiile GNOME pentru randarea SVG-urilor și este, de asemenea, implicată în popularul pachet NPM sharp, care are 80 de milioane de descărcări pe săptămână și este folosit ca dependență de aproape 11 mii de proiecte. Vulnerabilitatea permite executarea de cod personalizat la procesarea unor imagini SVG special concepute. Problema a fost soluționată în versiunile librsvg 2.56.6, 2.60.3, 2.62.4 și 2.63.1, precum și în pachetul NPM sharp 0.35.5. Printre proiectele afectate se numără platforma PeerTube (dependența a fost actualizată în lansarea de astăzi PeerTube 8.3.2).

Pentru analiza markup-ului XML folosit în fișierele SVG, librsvg utilizează funcții din biblioteca C libxml2. Vulnerabilitatea este cauzată de faptul că, în cazul în care în SVG există structuri XML înnodat cu Xincludes, ce conțin elemente duplicate cu nume repetitive, se produce un acces la memorie după eliberarea acesteia. Eșecul apare deoarece biblioteca librsvg eliberează memoria pentru elementele XML care sunt încă utilizate în parser-ul libxml2.

Sursa: opennet.ro

Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS 🔥 Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS | ProHoster