Ghostcat, kerentanan di Tomcat yang boleh menggantikan kod

hantu kucing

Penyelidik dari Chaitin Tech, China melepaskan maklumat mengenai penemuan baru, seperti yang telah mereka kenal kerentanan dalam wadah servlet yang popular (Java Servlet, JavaServer Pages, Java Expression Language dan Java WebSocket) Apache tomcat (sudah disenaraikan sebagai CVE-2020-1938).

Kerentanan ini mereka diberi nama kod "Ghostcat" dan tahap keparahan kritikal (9.8 CVSS). Masalah membenarkan dalam konfigurasi lalai untuk menghantar permintaan melalui port rangkaian 8009 untuk membaca kandungan fail dalam direktori aplikasi web, termasuk kod sumber aplikasi dan fail konfigurasi.

Kerentanan juga membolehkan mengimport fail lain ke dalam kod aplikasi, yang membenarkan mengatur pelaksanaan kod di pelayan sekiranya aplikasi membenarkan fail dimuat naik ke pelayan.

Sebagai contoh, adakah aplikasi laman web tersebut membolehkan pengguna memuat naik fail, penyerang boleh menyerang 1 fail yang mengandungi kod skrip JSP berniat jahat pada pelayan (fail yang dimuat naik itu sendiri boleh menjadi jenis fail, seperti gambar, fail teks biasa, dll.) dan kemudian masukkan fail yang dimuat naik dengan memanfaatkan kerentanan dari Ghostcat, yang akhirnya dapat menghasilkan pelaksanaan kod jarak jauh.

Juga disebutkan bahwa serangan dapat dilakukan jika memungkinkan untuk mengirim permintaan ke port jaringan dengan driver AJP. Menurut data awal, rangkaian dijumpai lebih daripada 1.2 juta host menerima permintaan menggunakan protokol AJP.

Kerentanan terdapat dalam protokol AJP dan itu tidak disebabkan oleh kesalahan pelaksanaan.

Selain menerima sambungan HTTP (port 8080) di Apache Tomcat, secara lalai ada kemungkinan untuk mengakses ke aplikasi web menggunakan protokol AJP (Apache Jserv Protocol, port 8009), yang merupakan analog binari HTTP yang dioptimumkan untuk prestasi yang lebih tinggi, umumnya digunakan ketika membuat kluster dari pelayan Tomcat atau untuk mempercepat interaksi dengan Tomcat pada proksi terbalik atau pengimbang beban.

AJP menyediakan fungsi standard untuk mengakses fail di pelayan, yang dapat digunakan, termasuk penerimaan fail yang tidak boleh didedahkan.

Difahamkan bahawa akses ke AJP hanya terbuka untuk pegawai yang dipercayaitetapi sebenarnya, dalam konfigurasi Tomcat lalai, pemandu dilancarkan pada semua antara muka rangkaian dan permintaan diterima tanpa pengesahan.

Akses boleh dilakukan ke semua fail dalam aplikasi web, termasuk isi WEB-INF, META-INF, dan direktori lain yang dikembalikan melalui panggilan ServletContext.getResourceAsStream (). AJP juga membolehkan anda menggunakan fail dalam direktori yang tersedia untuk aplikasi web sebagai skrip JSP.

Masalahnya sudah jelas sejak cawangan Tomcat 6.x dibebaskan 13 tahun yang lalu. Selain Tomcat sendiri, masalahnya juga mempengaruhi produk yang menggunakannya, seperti Red Hat JBoss Web Server (JWS), JBoss Enterprise Application Platform (EAP), serta aplikasi web mandiri yang menggunakan Spring Boot.

juga kelemahan serupa dijumpai (CVE-2020-1745) di pelayan web Undertow digunakan dalam pelayan aplikasi Wildfly. Pada masa ini, pelbagai kumpulan telah menyediakan lebih daripada sedozen contoh eksploitasi kerja.

Apache Tomcat telah melancarkan versi 9.0.31, 8.5.51 dan 7.0.100 secara rasmi untuk membetulkan kerentanan ini. Untuk membetulkan kerentanan ini dengan betul, anda mesti terlebih dahulu menentukan sama ada perkhidmatan Tomcat AJP Connector digunakan dalam persekitaran pelayan anda:

  • Sekiranya kluster atau proksi terbalik tidak digunakan, anda pada dasarnya dapat menentukan bahawa AJP tidak digunakan.
  •  Sekiranya tidak, anda perlu mengetahui sama ada kluster atau pelayan terbalik berkomunikasi dengan perkhidmatan Tomcat AJP Connect

Juga disebutkan bahawa Kemas kini kini tersedia dalam pelbagai distribusi Linux seperti: Debian, Ubuntu, RHEL, Fedora, SUSE.

Sebagai penyelesaian, anda boleh mematikan perkhidmatan Tomcat AJP Connector (ikat soket pendengaran ke localhost atau beri komen mengenai port dengan Connector port = »8009 ″), jika tidak diperlukan, atau konfigurasikan akses yang disahkan.

Sekiranya anda ingin mengetahui lebih lanjut mengenainya, anda boleh berjumpa pautan berikut. 


Tinggalkan komen anda

Alamat email anda tidak akan disiarkan. Ruangan yang diperlukan ditanda dengan *

*

*

  1. Bertanggungjawab atas data: Miguel Ángel Gatón
  2. Tujuan data: Mengendalikan SPAM, pengurusan komen.
  3. Perundangan: Persetujuan anda
  4. Komunikasi data: Data tidak akan disampaikan kepada pihak ketiga kecuali dengan kewajiban hukum.
  5. Penyimpanan data: Pangkalan data yang dihoskan oleh Occentus Networks (EU)
  6. Hak: Pada bila-bila masa anda boleh menghadkan, memulihkan dan menghapus maklumat anda.