Preorder drugiego tomu książki sekuraka: Wprowadzenie do bezpieczeństwa IT. -15% z kodem: sekurak-book
jQuery upload plugin – łatwy sposób na przejmowanie całych serwerów
Jak wiemy mechanizmy uploadu to jedno z najniebezpieczniejszych miejsc w aplikacjach. Czasem po prostu wystarczy wgrać webshella (dającego już dostęp na poziomie systemu operacyjnego), czasem trzeba się bardziej namęczyć – np. przygotowując odpowiedniego zip-a.
Ten pierwszy wariant był cały czas możliwy w popularnym pluginie jQuery File Upload (podatny jest kod po stronie serwerowej). Twórca wydał właśnie nową wersję pisząc:
A serious exploit, CVE-2018-9206, exists in versions released before October 2018.
Pewnie raczej odpowiada tutaj fraza o: „serious vulnerability” (exploitów też mamy masę, zresztą najprawdopodobniej były aktywnie używane przez ostatnich parę lat), ale bardziej niepokoi fakt, że plugin często jest używany w innych projektach (potrzeba łatwej możliwości uploadu – hmmm mamy już coś gotowego…).
Podatne są wszystkie wersje < 9.22.1
Na koniec jeszcze dwie istotne informacje: podatność jest możliwa do wykorzystania m.in. dzięki pewnym (domyślnym) ustawieniom na serwerze webowym Apache, dotyczącym obsługi plików .htaccess:
This version wasn’t anything out of the ordinary but it included one major change, at least in terms of security. Starting with this version, the Apache HTTPD server got an option that would allow server owners to ignore custom security settings made to individual folders via .htaccess files. This setting was made for security reasons, was enabled by default, and remained so for all subsequent Apache HTTPD server releases.
Blueimp’s jQuery File Upload plugin was coded to rely on a custom .htaccess file to impose security restrictions to its upload folder, without knowing that five days before, the Apache HTTPD team made a breaking change that undermined the plugin’s basic design.
Więc w nowej konfiguracji aplikacje korzystające z pluginu nagle stały się podatne (oczywiście różne dystrybucje Linuksa mogą modyfikować swoje domyślne konfiguracje dla web serwera Apache – nie wszyscy więc stali się podatni automatycznie).
Druga informacja – niestety aplikacje korzystające z pluginu można łatwo wyszukać w Internecie, można spodziewajcie się nowej fali ataków…
–ms
Czyli dobrze z tego opisu rozumiem, że podatne są tylko wdrożenia na Apache skoro problem był w .htaccess?