06.06.2018

Уязвимость ZipSlip

Zip Slip este un fișier arbitrar relativ răspândit şi suprascrie vulnerabilitatea critică, care are drept scop execuția de comenzi de la distanță. Acesta a fost descoperit și dezvăluit de către echipa de securitate Snyk înainte de dezvăluirea publică pe 5 iunie 2018 și afectează mii de proiecte, inclusiv cele de la HP, Amazon, Apache, Pivotal și multe altele.
Desigur, acest tip de vulnerabilitate a existat înainte, dar recent s-a manifestat într-un număr mult mai mare de proiecte și biblioteci.
Vulnerabilitatea a fost identificată în mai multe ecosisteme, inclusiv în JavaScript, Ruby, .NET și Go, dar este predominantă în Java, unde nu există o bibliotecă centrală care să ofere procesare la nivel înalt a fișierelor de arhivă (de ex. Zip). Lipsa unei astfel de biblioteci a condus la fragmente de cod vulnerabile care au fost create manual și partajate între comunitățile de dezvoltatori, cum ar fi StackOverflow.

Vulnerabilitatea este exploatată folosind o arhivă special creată care deține nume de fișiere transversale (de exemplu, ../../evil.sh). Vulnerabilitatea Zip Slip poate afecta numeroase formate de arhivă, inclusiv tar, jar, war, cpio, apk, rar și 7z.

Un scenariu tipic de atac este după cum urmează:
• Înainte de atac, atacatorul trebuie să creeze o arhivă și un cod de extragere care nu efectuează verificarea validităţii. Conținutul fișierului zip trebuie să aibă unul sau mai multe fișiere care ies din directorul țintă când sunt extrase.
• Atacatorul trimite apoi un e-mail cu arhiva în atașament sau cu un link către un web site rău intenționat pe care arhiva este accesibilă.
• Destinatarul deschide atașamentul sau descarcă arhiva de pe site și extrage fișierul din arhivă.
• Dacă arhiva este construită "corect", fișierul este extras în directorul rădăcină al sistemului. Atacatorul poate suprascrie fișierele executabile și le poate invoca de la distanță sau poate aștepta ca sistemul sau utilizatorul să le apeleze, realizând astfel executarea de la distanță a comenzii pe mașina victimei.
Orange Moldova CERT recomandă insistent actualizarea proiectelor și a bibliotecilor. Vulnerabilitatea Zip Slip este fixată în mai multe proiecte și biblioteci.