Sebezhetőség az Apache Tomcat-ban, amely lehetővé teszi JSP-kód behelyettesítését és webalkalmazások fájljainak megszerzését

A kínai Chaitin Tech cég kutatói felfedték vulnerability (CVE-2020-1938) a Apache Tomcat, a Java Servlet, JavaServer Pages, Java Expression Language és Java WebSocket technológiák nyílt megvalósítása. A sebezhetőség kódneve Ghostcat, és kritikus veszélyességi szintet kapott (9.8 CVSS). A probléma lehetővé teszi, hogy az alapértelmezett konfigurációban, az 8009-es hálózati porton keresztül érkező kérés küldésével bármilyen fájl tartalmát elolvassuk a webalkalmazás könyvtárából, beleértve a beállítások fájljait és az alkalmazás forráskódját is.

A sebezhetőség szintén lehetővé teszi más fájlok importálását az alkalmazás kódjába, ami lehetővé teszi a kód végrehajtását a szerveren, ha az alkalmazás engedélyezi a fájlok feltöltését a szerverre (például a támadó feltölthet egy JSP-skriptet képként a kép feltöltési űrlapon keresztül). A támadás akkor valósítható meg, ha lehetőség van kérés küldésére az AJP kezelővel rendelkező hálózati portra. Az előzetes adatok szerint a hálózatban több, mint több mint 1.2 millió olyan hoszt található, amelyek AJP protokollon fogadnak kéréseket.

A sebezhetőség az AJP protokollban található, és nem egy implementációs hibából ered. Az Apache Tomcat esetében az alapértelmezés szerint a HTTP (8080-as port) kapcsolatok mellett lehetővé teszi a webalkalmazás elérését az AJP protokollon keresztül (Apache Jserv Protocol, 8009-es port), amely egy optimalizált, nagyobb teljesítmény elérésére törekvő bináris analógja a HTTP-nek, amit általában Tomcat szerverek klaszterének létrehozásakor vagy a Tomcat gyorsítótól vagy terheléselosztótól való interakció felgyorsítására használnak.

Az AJP rendelkezik egy beépített funkcióval, amely lehetővé teszi a fájlok elérését a szerveren, amelyet például olyan fájlok megszerzésére is használhatunk, amelyeket nem szabadna nyilvánosságra hozni. Azt feltételezik, hogy az AJP hozzáférés csak megbízható szerverek számára van nyitva, de a valóságban az alapértelmezett Tomcat konfigurációban a kezelő minden hálózati interfészen elindult, és a kéréseket hitelesítés nélkül fogadták. Hozzáférés lehetséges bármely webalkalmazás fájlhoz, beleértve a WEB-INF, META-INF és bármely más könyvtár tartalmát, amelyet a ServletContext.getResourceAsStream() hívásával adnak vissza. Az AJP lehetővé teszi bármely fájl használatát a webalkalmazás könyvtáraiban JSP-skriptként.

A probléma 13 éve kiadott Tomcat 6.x ágon jelentkezik. A Tomcaton kívül a probléma érinti és az általa használt termékek, például a Red Hat JBoss Web Server (JWS), a JBoss Enterprise Application Platform (EAP), valamint az önálló webalkalmazások, amelyek használják Spring Boot. Hasonló sérülékenység (CVE-2020-1745) már 2016 óta jelen van (lehet, hogy a probléma kihasználásának feltételei csak egyes más nemrégiben történt változások után jelentkeztek). a webkiszolgálóban Undertow, amelyet a Wildfly alkalmazásszerver használ. A JBoss és a Wildfly esetében az AJP protokoll alapértelmezés szerint csak a standalone-full-ha.xml, a standalone-ha.xml és a ha/full-ha profilokban van engedélyezve a domain.xml fájlban. A Spring Boot esetében az AJP támogatása alapértelmezés szerint le van tiltva. Jelenleg több mint egy tucat működő exploit példát állítottak elő különböző csoportok (
1,
2,
3,
4,
5,
6,
7,
8,
9,
10,
11).

A sérülékenységet a Tomcat kiadásai javították 9.0.31, 8.5.51 és 7.0.100 (a 6.x ággal való karbantartás megszűnt). A frissítések megjelenését a disztribúciókban a következő oldalakon nyomon lehet követni: Debian, Ubuntu, RHEL, Fedora, SUSE, FreeBSD. Védelmi megoldásként le lehet tiltani a Tomcat AJP Connector szolgáltatást (a hallgató socket-et localhost-ra kötni vagy kommentálni a Connector port = "8009" sort), ha nincs rá szükség, vagy személyre lehet hitelesített hozzáférést biztosítani a "secret" és "address" attribútumokkal, ha a szolgáltatás más szerverekkel és mod_jk, mod_proxy_ajp alapú proxy-kkal való interakcióra szolgál (a mod_cluster hitelesítést nem támogat).

Forrás: opennet.ru

Megbízható hosting vásárlása weboldalak számára, DDoS védelemmel, VPS VDS szerverek. 🔥 Megbízható webtárhely vásárlása DDoS védelemmel, VPS VDS szerverek | ProHoster