Kerentanan dina Apache Tomcat anu ngamungkinkeun anjeun ngagentos kode JSP sareng kéngingkeun file aplikasi wéb

Panaliti ti perusahaan Cina Chaitin Tech parantos mendakan karentanan (CVE-2020-1938) di Apache Tomcat, palaksanaan kabuka tina Java Servlet, JavaServer Pages, Java Expression Language sareng téknologi Java WebSocket. Kerentanan parantos dipasihan nami kode Ghostcat sareng tingkat parah kritis (9.8 CVSS). Masalahna ngamungkinkeun, dina konfigurasi standar, ku ngirim pamundut dina port jaringan 8009, maca eusi file tina diréktori aplikasi wéb, kalebet file sareng setélan sareng kode sumber aplikasi.

Kerentanan ogé ngamungkinkeun pikeun ngimpor file sanés kana kode aplikasi, anu ngamungkinkeun palaksanaan kode dina server upami aplikasi ngamungkinkeun file diunggah ka server (contona, panyerang tiasa unggah skrip JSP anu nyamar salaku gambar liwat. formulir unggah gambar). serangan nu bisa dilaksanakeun nalika kasebut nyaéta dimungkinkeun pikeun ngirim pamundut ka port jaringan kalawan handler AJP. Numutkeun data awal, online kapanggih leuwih ti 1.2 juta sarwa narima requests via protokol AJP.

Kerentanan aya dina protokol AJP, jeung teu disebut kasalahan dina palaksanaan. Salian narima sambungan via HTTP (port 8080), Apache Tomcat sacara standar ngamungkinkeun aksés ka aplikasi wéb ngaliwatan protokol AJP (Protokol Apache Jserv, port 8009), nyaéta analog binér tina HTTP anu dioptimalkeun pikeun pagelaran anu langkung luhur, biasana dianggo nalika nyiptakeun gugusan server Tomcat atanapi pikeun nyepetkeun interaksi sareng Tomcat dina proxy sabalikna atanapi penyeimbang beban.

AJP nyayogikeun fungsi standar pikeun ngaksés file dina server, anu tiasa dianggo, kalebet kéngingkeun file anu henteu tunduk kana panyingkepan. AJP sakuduna dituju ngan ukur tiasa diaksés pikeun server anu dipercaya, tapi kanyataanna konfigurasi standar Tomcat ngajalankeun pawang dina sadaya antarmuka jaringan sareng pamundut anu ditampi tanpa auténtikasi. Aksés nyaéta dimungkinkeun pikeun sagala file aplikasi wéb, kaasup eusi WEB-INF, META-INF tur sagala directories séjén disadiakeun ngaliwatan panggero ServletContext.getResourceAsStream (). AJP ogé ngamungkinkeun anjeun ngagunakeun file naon waé dina diréktori anu tiasa diaksés ku aplikasi wéb salaku skrip JSP.

Masalahna parantos muncul saprak cabang Tomcat 13.x dileupaskeun 6 sababaraha taun ka pengker. Salian masalah Tomcat sorangan mangaruhan sareng produk anu ngagunakeun éta, sapertos Red Hat JBoss Web Server (JWS), JBoss Enterprise Application Platform (EAP), ogé aplikasi wéb mandiri anu ngagunakeun Boot spring. Kerentanan anu sami (CVE-2020-1745) hadir dina pangladén wéb Undertow, dipaké dina server aplikasi Wildfly. Dina JBoss sareng Wildfly, AJP diaktipkeun sacara standar ngan dina profil mandiri-full-ha.xml, mandiri-ha.xml sareng ha/full-ha dina domain.xml. Dina Spring Boot, dukungan AJP ditumpurkeun sacara standar. Ayeuna, grup béda geus nyiapkeun leuwih ti belasan conto gawé garapan (
1,
2,
3,
4,
5,
6,
7,
8,
9,
10,
11).

Kerentanan dibereskeun dina sékrési Tomcat 9.0.31, 8.5.51 и 7.0.100 (pangropéa cabang 6.x dieureunkeun). Anjeun tiasa ngalacak kasadiaan apdet dina kit distribusi dina halaman ieu: Debian, Ubuntu, RHEL, Fedora, Pirang, FreeBSD. Salaku workaround a, anjeun tiasa nganonaktipkeun jasa Tomcat AJP Connector (ngabeungkeut stop kontak déngékeun ka localhost atanapi mairan kaluar garis kalawan Connector port = "8009") lamun teu diperlukeun, atawa Ngepaskeun aksés dioténtikasi ngagunakeun atribut "rusiah" jeung "alamat", lamun jasa dipaké pikeun berinteraksi sareng server sejen tur proxy dumasar kana mod_jk na mod_proxy_ajp (mod_cluster teu ngarojong auténtikasi).

sumber: opennet.ru

Tambahkeun komentar