Vulnerabilitet në Apache Tomcat që lejon inxhinierimin e kodit JSP dhe qasje në skedarët e aplikacioneve web.

Hulumtuesit nga kompania kineze Chaitin Tech zbuluan vulnerabiliteti (CVE-2020-1938) në Apache Tomcat, një zbatim të hapur të teknologjive Java Servlet, JavaServer Pages, Java Expression Language dhe Java WebSocket. Vulnerabilitetit i është dhënë emri kodik Ghostcat dhe niveli kritik i rrezikut (9.8 CVSS). Problemi lejon që në konfigurimin e paracaktuar të lexohen përmbajtjet e çdo skedari nga katalogu i aplikacionit web përmes dërgimit të një kërkese në portin rrjetor 8009, përfshirë skedarët me konfigurimet dhe kodet burimore të aplikacionit.

Vulnerabiliteti gjithashtu ofron mundësinë për të importuar skedarë të tjerë në kodin e aplikacionit, duke lejuar ekzekutimin e kodit në server nëse aplikacioni lejon ngarkimin e skedarëve në server (p.sh., sulmuesi mund të ngarkojë një skenar JSP si një imazh përmes një forme ngarkimi). Sulmi mund të kryhet në rast se është e mundur të dërgohet një kërkesë në portin rrjetor me një përpunues AJP. Sipas të dhënave paraprake, në rrjet u gjetën më shumë se 1.2 milion host-e që pranojnë kërkesa përmes protokollit AJP.

Vulnerabiliteti është i pranishëm në protokollin AJP, dhe nuk shkaktohet në një gabim në zbatim. Përveç pranimit të lidhjeve përmes HTTP (porti 8080), në Apache Tomcat, sipas paracaktimit, lejohet qasja në aplikacionin web përmes protokollit AJP (Apache Jserv Protocol, porti 8009), i cili është një analog binar optimizuar për arritjen e performancës më të lartë të HTTP, zakonisht i përdorur kur krijohet një grup i serverëve Tomcat ose për të përshpejtuar ndërveprimin me Tomcat në një proxy të ndërprerë ose në një balancues ngarkese.

AJP ofron një funksion standard për qasjen në skedarët në server, të cilin mund ta përdorni, përfshirë qasjen në skedarë që nuk duhet të zbulohen. Supozohet se qasja në AJP është e hapur vetëm për serverët e besueshëm, por në të vërtetë në konfigurimin parazgjedhor, Tomcat filloi përpunuesin në të gjitha ndërfaqet rrjetore, dhe kërkesat priteshin pa autentifikim. Qasja është e mundur në çdo skedar të aplikacionit web, përfshirë përmbajtjen e WEB-INF, META-INF, dhe çdo katalog tjetër që kthehet përmes thirrjes ServletContext.getResourceAsStream(). AJP gjithashtu lejon përdorimin e çdo skedari në katalogët e disponueshëm për aplikacionin web si një skenar JSP.

Problemi shfaqet që nga lëshimi i degës së Tomcat 6.x, e cila është lëshuar 13 vjet më parë. Përveç Tomcat vetë, problemi dhe përfshin produkte që e përdorin atë, si Red Hat JBoss Web Server (JWS), JBoss Enterprise Application Platform (EAP), si dhe aplikacionet web të pavarura që përdorin Spring Boot. Një vulnerabilitet i ngjashëm (CVE-2020-1745) është prezent në serverin web Undertow, i përdorur në serverin e aplikacioneve Wildfly. Në JBoss dhe Wildfly, protokolli AJP është parazgjedhur vetëm i aktivizuar në standalone-full-ha.xml, standalone-ha.xml dhe ha/full-ha profile në domain.xml. Në Spring Boot, mbështetja AJP është e çaktivizuar parazgjedhshëm. Aktualisht, grupet e ndryshme kanë përgatitur më shumë se një duzinë shembuj funksionalë të eksploitëve (
1,
2,
3,
4,
5,
6,
7,
8,
9,
10,
11).

Vulnerabiliteti është eliminuar në versionet e Tomcat 9.0.31, 8.5.51 dhe 7.0.100 (mbështetje për degën 6.x ndaluar). Për të ndjekur shfaqjen e përditësimeve në shpërndarjet mund të vizitoni këto faqe: Debian, Ubuntu, RHEL, Fedora, SUSE, FreeBSD. Si një masë zbutëse për mbrojtje mund të çaktivizoni shërbimin Tomcat AJP Connector (të lidhni socket-in që dëgjon me localhost ose të komentoni rreshtin me Connector port = "8009"), nëse është e panevojshme, ose konfigurohet qasja e autentifikuar me anë të atributeve "secret" dhe "address", nëse shërbimi përdoret për ndërveprim me serverë të tjerë dhe proxy mbi bazën e mod_jk dhe mod_proxy_ajp (mod_cluster nuk mbështet autentifikimin).

Burimi: opennet.ru

Bleni hostim tĂ« besueshĂ«m pĂ«r faqe me mbrojtje nga DDoS, serverĂ« VPS VDS đŸ”„ Bleni hostim tĂ« besueshĂ«m pĂ«r faqe me mbrojtje nga DDoS, serverĂ« VPS VDS | ProHoster