Kerentanan lain di Apache httpd yang memungkinkan akses di luar direktori root situs

Vektor serangan baru telah ditemukan untuk server Apache http, yang tetap tidak diperbaiki pada pembaruan 2.4.50 dan memungkinkan akses ke file dari area di luar direktori root situs. Selain itu, para peneliti telah menemukan metode yang memungkinkan, dengan adanya pengaturan non-standar tertentu, tidak hanya untuk membaca file sistem, tetapi juga untuk mengeksekusi kodenya dari jarak jauh di server. Masalahnya hanya muncul di rilis 2.4.49 dan 2.4.50; versi sebelumnya tidak terpengaruh. Untuk menghilangkan kerentanan baru, Apache httpd 2.4.51 segera dirilis.

Pada intinya, masalah baru (CVE-2021-42013) benar-benar mirip dengan kerentanan asli (CVE-2021-41773) di versi 2.4.49, satu-satunya perbedaan adalah pengkodean karakter “..” yang berbeda. Secara khusus, dalam rilis 2.4.50 kemampuan untuk menggunakan urutan "%2e" untuk menyandikan suatu titik diblokir, tetapi kemungkinan pengkodean ganda terlewatkan - saat menentukan urutan "%%32%65", server mendekodekannya menjadi "%2e" dan kemudian menjadi " ”, mis. karakter "../" untuk menuju ke direktori sebelumnya dapat dikodekan sebagai ".%%32%65/".

Sedangkan untuk mengeksploitasi kerentanan melalui eksekusi kode, hal ini dimungkinkan ketika mod_cgi diaktifkan dan jalur dasar digunakan di mana eksekusi skrip CGI diperbolehkan (misalnya, jika direktif ScriptAlias ​​​​diaktifkan atau flag ExecCGI ditentukan dalam Arahan opsi). Persyaratan wajib agar serangan berhasil juga adalah menyediakan akses secara eksplisit ke direktori dengan file yang dapat dieksekusi, seperti /bin, atau akses ke root sistem file “/” di pengaturan Apache. Karena akses seperti itu biasanya tidak diberikan, serangan eksekusi kode hanya memiliki sedikit penerapan pada sistem nyata.

Pada saat yang sama, serangan untuk mendapatkan konten file sistem arbitrer dan teks sumber skrip web, yang dapat dibaca oleh pengguna yang menjalankan server http, tetap relevan. Untuk melakukan serangan seperti itu, cukup dengan mengkonfigurasi direktori di situs menggunakan arahan “Alias” atau “ScriptAlias” (DocumentRoot saja tidak cukup), seperti “cgi-bin”.

Contoh eksploitasi yang memungkinkan Anda menjalankan utilitas “id” di server: curl 'http://192.168.0.1/cgi-bin/.%%32%65/.%%32%65/.%% 32%65/.%% 32%65/.%%32%65/bin/sh' —data 'echo Tipe Konten: teks/polos; gema; id' uid=1(daemon) gid=1(daemon) grup=1(daemon)

Contoh eksploitasi yang memungkinkan Anda menampilkan konten /etc/passwd dan salah satu skrip web (untuk menampilkan kode skrip, direktori yang ditentukan melalui arahan “Alias”, yang eksekusi skripnya tidak diaktifkan, harus ditentukan sebagai direktori dasar): curl 'http://192.168.0.1 .32/cgi-bin/.%%65%32/.%%65%32/.%%65%32/.%%65%32/.% %65%192.168.0.1/etc/passwd' curl 'http: //32/aliaseddir/.%%65%32/.%%65%32/.%%65%32/.%%65%32/. %%65%2/usr/local/ApacheXNUMX/cgi -bin/test.cgi'

Masalah ini terutama mempengaruhi distribusi yang terus diperbarui seperti Fedora, Arch Linux dan Gentoo, serta port FreeBSD. Paket di cabang stabil distribusi server konservatif Debian, RHEL, Ubuntu dan SUSE tidak terpengaruh oleh kerentanan ini. Masalah tidak terjadi jika akses ke direktori ditolak secara eksplisit menggunakan pengaturan “wajibkan semua ditolak”.

Sumber: opennet.ru

Tambah komentar