Kerentanan ing Apache Tomcat sing ngidini sampeyan ngganti kode JSP lan entuk file aplikasi web

Peneliti saka perusahaan China Chaitin Tech wis nemokake kerentanan (CVE-2020-1938) ing Apache Tomcat, implementasine mbukak Java Servlet, JavaServer Pages, Java Expression Language lan teknologi Java WebSocket. Kerentanan wis diwenehi jeneng kode Ghostcat lan tingkat keruwetan kritis (9.8 CVSS). Masalah kasebut ngidini, ing konfigurasi standar, kanthi ngirim panjalukan ing port jaringan 8009, kanggo maca isi file apa wae saka direktori aplikasi web, kalebu file kanthi setelan lan kode sumber aplikasi.

Kerentanan uga ndadekake bisa ngimpor file liyane menyang kode aplikasi, sing ngidini eksekusi kode ing server yen aplikasi ngidini file diunggah menyang server (contone, panyerang bisa ngunggah skrip JSP sing disamarake minangka gambar liwat formulir unggahan gambar). Serangan kasebut bisa ditindakake nalika bisa ngirim panjaluk menyang port jaringan kanthi handler AJP. Miturut data awal, online ketemu luwih saka 1.2 yuta host nampa panjalukan liwat protokol AJP.

Kerentanan kasebut ana ing protokol AJP, lan ora diarani kesalahan ing implementasine. Saliyane nampa sambungan liwat HTTP (port 8080), Apache Tomcat minangka standar ngidini akses menyang aplikasi web liwat protokol AJP (Apache Jserv Protocol, port 8009), yaiku analog binar HTTP sing dioptimalake kanggo kinerja sing luwih dhuwur, biasane digunakake nalika nggawe kluster server Tomcat utawa kanggo nyepetake interaksi karo Tomcat ing proxy reverse utawa load balancer.

AJP nyedhiyakake fungsi standar kanggo ngakses file ing server, sing bisa digunakake, kalebu entuk file sing ora tundhuk pambocoran. AJP mesthine bisa diakses mung kanggo server sing dipercaya, nanging nyatane konfigurasi standar Tomcat mbukak pawang ing kabeh antarmuka jaringan lan panjaluk sing ditampa tanpa otentikasi. Akses bisa kanggo file aplikasi web, kalebu isi WEB-INF, META-INF lan sembarang direktori liyane kasedhiya liwat telpon kanggo ServletContext.getResourceAsStream (). AJP uga ngidini sampeyan nggunakake file apa wae ing direktori sing bisa diakses aplikasi web minangka skrip JSP.

Masalah wis katon wiwit cabang Tomcat 13.x dirilis 6 taun kepungkur. Saliyane masalah Tomcat dhewe mengaruhi lan produk sing nggunakake, kayata Red Hat JBoss Web Server (JWS), JBoss Enterprise Application Platform (EAP), uga aplikasi web mandiri sing nggunakake Boot spring. Kerentanan sing padha (CVE-2020-1745) saiki ing server web Undertow, digunakake ing server aplikasi Wildfly. Ing JBoss lan Wildfly, AJP diaktifake kanthi gawan mung ing profil standalone-full-ha.xml, standalone-ha.xml lan ha/full-ha ing domain.xml. Ing Spring Boot, dhukungan AJP dipateni kanthi gawan. Saiki, macem-macem klompok wis nyiapake luwih saka puluhan conto eksploitasi (
1,
2,
3,
4,
5,
6,
7,
8,
9,
10,
11).

Kerentanan tetep ing rilis Tomcat 9.0.31, 8.5.51 и 7.0.100 (pangopènan cabang 6.x mandhek). Sampeyan bisa nglacak kasedhiyan nganyari ing kit distribusi ing kaca iki: Debian, ubuntu, RHEL, Fedora, SUSE, FreeBSD. Minangka workaround, sampeyan bisa mateni layanan Tomcat AJP Connector (ikatan soket ngrungokake menyang localhost utawa komentar metu baris karo konektor port = "8009") yen ora perlu, utawa nyiyapake akses asli nggunakake atribut "rahasia" lan "alamat", yen layanan digunakake kanggo sesambungan karo server liyane lan proxy adhedhasar mod_jk lan mod_proxy_ajp (mod_cluster ora ndhukung bukti asli).

Source: opennet.ru

Add a comment