Hiina ettevÔtte Chaitin Tech uurijad avastasid () , Java Servlet, JavaServer Pages, Java Expression Language ja Java WebSocket tehnoloogiate avatud rakenduse. Haavatavusele on antud koodnimi Ghostcat ja see on kriitilise tasemega oht (9.8 CVSS). Probleem vÔimaldab vaike konfiguratsioonis saata pÀringu kaudu vÔrgupordile 8009 lugeda mis tahes faili sisu veebi rakenduse kataloogist, sealhulgas konfiguratsioonifailide ja rakenduse lÀhtekoodide faile.
Haavatavus annab ka vĂ”imaluse importida teiste faile rakenduse koodi, mis vĂ”imaldab korraldada koodi tĂ€itmist servers, kui rakendus lubab faile serverisse laadida (nĂ€iteks vĂ”ib rĂŒndaja laadida JSP-skripti pildi nĂ€ol lĂ€bi pildifaili laadimisvormi). RĂŒnnak saab toimuma, kui on vĂ”imalik saata pĂ€ring vĂ”rgupordile, kus töötab AJP töötleja. Esialgsete andmete kohaselt on vĂ”rgus ĂŒle 1,2 miljoni hosti, mis aktsepteerivad pĂ€ringute protokolli AJP.
Haavatavus esineb AJP protokollis ning protsesside rakendamise vea tĂ”ttu. Lisaks HTTP ĂŒhenduste vastuvĂ”tmisele (port 8080) lubab Apache Tomcat vaikimisi kuulata web-rakendusele AJP protokolli kaudu (, port 8009), mis on HTTP binaarne analoog, optimeeritud kĂ”rgema jĂ”udluse saavutamiseks ja mida kasutatakse tavaliselt Tomcat-serverite klastrite loomisel vĂ”i Tomcati kiiremaks suhtlemiseks tagasipöördumise vaheproksi vĂ”i koormuse tasakaalustajaga.
AJP pakub vaikimisi funktsiooni juurdepÀÀsuks serveri failidele, mida saab kasutada sealhulgas failide saamiseks, mis ei ole avalikustatud. Eeldatakse, et AJP ligipÀÀs on avatud ainult usaldusvÀÀrsetele serveritele, kuid tegelikult oli Tomcat vaikimisi konfigureeritud töötama kÔigil vÔrguliideseid, ning pÀringud vÔeti vastu ilma autentimiseta. Juhtmed on vÔimalikud mis tahes web-rakenduse failidele, sealhulgas sisu jaoks WEB-INF, META-INF ja mistahes muude kaustade jaoks, mida saadetakse lÀbi ServletContext.getResourceAsStream() kutsumise. AJP vÔimaldab samuti kasutada mis tahes faili web-rakenduse juurdepÀÀsetavates kaustades JSP skriptina.
Probleem ilmneb alates Tomcat 6.x versiooni vĂ€ljastamisest, mis toimus 13 aastat tagasi. Probleem puudutab samuti Tomcatit ja sellel pĂ”hinevaid tooteid, nagu Red Hat JBoss Web Server (JWS), JBoss Enterprise Application Platform (EAP) ning ka iseseisvad veebirakendused, mis kasutavad . Sarnane haavatavus (CVE-2020-1745) veebiserveris , mida rakendatakse Wildfly rakenduste serveris. JBossi ja Wildfly AJP protokoll on vaikimisi lubatud ainult standalone-full-ha.xml, standalone-ha.xml ja ha/full-ha profiilides domain.xml failis. Spring Bootis on AJP toetus vaikimisi vĂ€lja lĂŒlitatud. Praegu on erinevad rĂŒhmad valmistanud rohkem kui tosin töökorda viidud eksploiti (
,
,
,
,
,
,
,
,
,
,
).
Haavatavus on kĂ”rvaldatud Tomcat'i , ja (6.x versiooni hooldus ). Uuenduste vĂ€ljalaskmise jĂ€lgimiseks distributsioonides saab kĂŒlastada jĂ€rgmisi lehti: , , , , , . Kaitsemeetmena saab Tomcat AJP Connector teenuse vĂ€lja lĂŒlitada (seonduda kuulamissoketiga localhost vĂ”i kommenteerida vĂ€lja rida Connector port = «8009»), kui see pole vajalik, vĂ”i autentneeritud juurdepÀÀs atribuutide «secret» ja «address» kaudu, kui teenust kasutatakse teiste serverite ja proxide vahelise suhtlemise jaoks mod_jk ja mod_proxy_ajp pĂ”hjal (mod_cluster autentimist ei toeta).
Allikas: opennet.ru
