Mereka menemukan kerentanan dalam Kerangka Musim Semi

Baru-baru ini tersiar kabar itu kerentanan kritis dari tipe zero day terdeteksi dalam modul Spring Core dikirimkan sebagai bagian dari Spring Framework, yang memungkinkan penyerang jarak jauh yang tidak diautentikasi untuk mengeksekusi kode mereka di server.

Dengan beberapa perkiraan, modul Spring Core digunakan di 74% aplikasi Java. Bahaya kerentanan dikurangi dengan fakta bahwa hanya aplikasi yang gunakan anotasi "@RequestMapping" untukDengan menghubungkan penangan permintaan dan menggunakan pengikatan parameter formulir web dalam format “name=value” (POJO, Plain Old Java Object), daripada JSON/XML, mereka rentan terhadap serangan. Belum jelas aplikasi dan kerangka kerja Java mana yang terpengaruh oleh masalah ini.

Kerentanan ini, bernama "Spring4Shell", memanfaatkan injeksi kelas yang mengarah ke RCE penuh dan sangat serius. Nama "Spring4Shell" dipilih karena Spring Core adalah pustaka yang ada di mana-mana, mirip dengan log4j yang memunculkan kerentanan Log4Shell yang terkenal.

Kami yakin bahwa pengguna yang menjalankan JDK versi 9 dan yang lebih baru rentan terhadap serangan RCE. Semua versi Spring Core terpengaruh.

Ada strategi untuk mengurangi serangan dan kami percaya bahwa tidak semua server Spring rentan, tergantung pada faktor lain yang dibahas di bawah ini. Karena itu, saat ini kami menyarankan agar semua pengguna menerapkan mitigasi atau peningkatan jika mereka menggunakan Spring Core.

Eksploitasi kerentanan hanya dimungkinkan saat menggunakan Java/JDK 9 atau versi yang lebih baru. Kerentanan memblokir daftar hitam bidang "kelas", "modul", dan "classLoader" atau penggunaan daftar putih eksplisit bidang yang diizinkan.

Masalahnya adalah karena kemampuan untuk melewati perlindungan terhadap kerentanan CVE-2010-1622, Diperbaiki di Spring Framework pada tahun 2010 dan terkait dengan eksekusi handler classLoader saat mengurai parameter permintaan.

Pengoperasian eksploitasi dikurangi menjadi pengiriman permintaan cdengan parameter "class.module.classLoader.resources.context.parent.pipeline.first.*", yang pemrosesannya, saat menggunakan "WebappClassLoaderBase", mengarah ke panggilan ke kelas AccessLogValve.

Kelas yang ditentukan memungkinkan Anda untuk mengonfigurasi logger untuk membuat file jsp arbitrer di lingkungan root Apache Tomcat dan menulis kode yang ditentukan oleh penyerang ke file ini. File yang dibuat tersedia untuk permintaan langsung dan dapat digunakan sebagai web shell. Untuk menyerang aplikasi yang rentan di lingkungan Apache Tomcat, cukup mengirim permintaan dengan parameter tertentu menggunakan utilitas curl.

Masalah yang sedang dipertimbangkan di Spring Core jangan bingung dengan kerentanan yang baru diidentifikasi CVE-2022-22963 dan CVE-2022-22950. Masalah pertama mempengaruhi paket Spring Cloud dan juga memungkinkan eksekusi kode jarak jauh (eksploitasi) untuk dicapai. CVE-2022-22963 diperbaiki dalam rilis Spring Cloud 3.1.7 dan 3.2.3.

Masalah kedua CVE-2022-22950 hadir di Spring Expression, dapat digunakan untuk meluncurkan serangan DoS, dan diperbaiki di Spring Framework 5.3.17. Ini pada dasarnya adalah kerentanan yang berbeda. Pengembang Spring Framework belum membuat pernyataan apa pun tentang kerentanan baru dan belum merilis perbaikan.

Sebagai tindakan perlindungan sementara, Anda disarankan untuk menggunakan daftar hitam parameter kueri yang tidak valid dalam kode Anda.

Tetap saja tidak jelas seberapa besar konsekuensinya masalah yang diidentifikasi dan apakah serangan akan sebesar kasus kerentanan di Log4j 2. Kerentanan telah diberi nama kode Spring4Shell, CVE-2022-22965, dan pembaruan Spring Framework 5.3.18 dan 5.2.20 telah dirilis untuk mengatasi kerentanan.

Patch sekarang tersedia pada 31 Maret 2022 dalam versi Spring terbaru yang dirilis 5.3.18 dan 5.2.20. Kami menyarankan semua pengguna untuk meningkatkan. Bagi mereka yang tidak dapat memutakhirkan, mitigasi berikut dimungkinkan:

Berdasarkan postingan Praetorian yang mengonfirmasi keberadaan RCE di Spring Core, pendekatan yang direkomendasikan saat ini adalah menambal DataBinder dengan menambahkan daftar hitam pola bidang rentan yang diperlukan untuk eksploitasi.

Akhirnya ya Anda tertarik untuk mengetahui lebih banyak tentangnya tentang catatan itu, Anda dapat memeriksa detailnya Di tautan berikut.


tinggalkan Komentar Anda

Alamat email Anda tidak akan dipublikasikan. Bidang yang harus diisi ditandai dengan *

*

*

  1. Penanggung jawab data: Miguel Ángel Gatón
  2. Tujuan data: Mengontrol SPAM, manajemen komentar.
  3. Legitimasi: Persetujuan Anda
  4. Komunikasi data: Data tidak akan dikomunikasikan kepada pihak ketiga kecuali dengan kewajiban hukum.
  5. Penyimpanan data: Basis data dihosting oleh Occentus Networks (UE)
  6. Hak: Anda dapat membatasi, memulihkan, dan menghapus informasi Anda kapan saja.