MOVEit Transfer — Zero-Day SQL Injection, masowa kradzież danych
Co się stało
31 maja 2023 roku Progress Software ujawnił krytyczną podatność SQL injection w MOVEit Transfer — oprogramowaniu do zarządzanego transferu plików (MFT) używanym przez banki, służbę zdrowia i agencje rządowe. Grupa ransomware Cl0p wykorzystywała ją od 27 maja, na dni przed dostępnością łatki. Wstrzykiwali SQL przez nagłówki X-siLock-Step1 i X-siLock-Step2, aby zrzucić całą bazę danych, a następnie użyli drugiej podatności (CVE-2023-35036), aby eskalować do dostępu do systemu plików.
Przyczyna
SQL injection w końcówce API podobnej do SOAP. Endpoint /guestaccess.aspx akceptował specjalnie spreparowane nagłówki, które były bezpośrednio interpolowane w zapytaniach SQL bez parametryzacji. Atakujący mógł wyodrębnić zawartość bazy danych, w tym metadane plików, poświadczenia użytkowników i klucze Azure blob storage. Druga luka pozwalała na zapis webshelli na dysku przez spreparowane nazwy plików.
Kto został dotknięty
- 2 700+ organizacji potwierdzonych jako skompromitowane
- 95+ milionów osób, których dane skradziono
- Shell, British Airways, BBC, PwC
- U.S. Department of Energy, Department of Health
- Szacowane okupy: 75–100 milionów dolarów
Jak to wykryto
Huntress i Mandiant odkryli eksploitację podczas badania anomalnego zachowania serwerów MOVEit. Atakujący byli wewnątrz środowisk klientów, kradnąc dane, podczas gdy CVE było wciąż analizowane. Analiza śledcza ujawniła wektor SQL injection w logach IIS pokazujących nietypowe żądania HTTP do /guestaccess.aspx.
Jak to naprawiono
Progress wydał łatki w ciągu 48 godzin od pierwszego ujawnienia. Trzy CVE, trzy łatki, jeden produkt — wszystkie odkryte w ciągu dwóch tygodni.
Lekcje dla Twojego SaaS
- Każdy endpoint transferu plików to cel. Jeśli Twój SaaS obsługuje upload, download lub transfer plików, te endpointy zasługują na najdokładniejszą kontrolę bezpieczeństwa.
- Ryzyko dostawcy to Twoje ryzyko. Jeśli używałeś MOVEit jako dostawca i nie wiedziałeś o tym — nadal byłeś odpowiedzialny.
- Tygodnie mają znaczenie. Cl0p exploitował zero-day przez 4 dni przed ujawnieniem. Jeśli Twój dostawca nie monitoruje anomalii we własnych produktach — Ty jesteś warstwą detekcji.