GrowPro


Growpro Admin 1 June 2023

Exploit released for RCE flaw in popular ReportLab PDF library


     นักวิจัยได้เผยแพร่ช่องโหว่ Remote Code Execution (RCE) ที่ส่งผลกระทบต่อ ReportLab Toolkit ซึ่งเป็นไลบรารี่ Python ยอดนิยมที่หลายโครงการใช้เพื่อสร้างไฟล์ PDF จากอินพุต HTML ช่องโหว่ Proof-of-Concept (PoC) ซึ่งติดตามเป็น CVE-2023-33733 ได้รับการเผยแพร่เมื่อวานนี้บน GitHub พร้อมกับบทความที่ให้รายละเอียดทางเทคนิคเกี่ยวกับช่องโหว่ ซึ่งจะเป็นช่องทางในการเพิ่มโอกาสในการแสวงหาผลประโยชน์ (exploit) มากขึ้น ชุดเครื่องมือ ReportLab ถูกใช้โดยหลายโครงการเป็นไลบรารี PDF และมีการดาวน์โหลดประมาณ 3.5 ล้านครั้งต่อเดือนบน PyPI (Python Package Index)

     ปัญหาที่เกิดขึ้นเกิดจากความสามารถในการข้ามข้อจำกัดของ sandbox ใน rl_safe_eval ซึ่งมีหน้าที่ป้องกันการเรียกใช้โค้ดที่เป็นอันตราย ทำให้ผู้โจมตีเข้าถึงฟังก์ชันในตัวของ Python ที่อาจเป็นอันตรายได้ โดยฟังก์ชัน rl_safe_eval ถูกนำมาใช้เป็นมาตรการเพื่อป้องกันปัญหาการเรียกใช้โค้ดจากระยะไกลที่คล้ายคลึงกันซึ่งถูกค้นพบในปี 2019 PoC ที่นำเสนอสามารถใช้ฟังก์ชัน type ในตัวที่ช่วยสร้าง class ใหม่ชื่อ Word ซึ่งมาจากคลาส str ซึ่งสามารถข้ามการตรวจสอบความปลอดภัยและให้สิทธิ์เข้าถึง attributes ที่ละเอียดอ่อน เช่น code ถัดไป type จะถูกเรียกใช้ในตัวมันเองเพื่อเลี่ยงการตรวจสอบ eval ที่ปลอดภัยเกี่ยวกับข้อจำกัดจำนวน argument ทำให้ผู้โจมตีสามารถใช้ฟังก์ชัน type ดั้งเดิมในตัวในทางที่ผิดเพื่อสร้าง class และ objects ใหม่ สิ่งนี้นำไปสู่การสร้างฟังก์ชันที่เป็นอันตรายจาก bytecode ของฟังก์ชันที่ compiled ซึ่งเมื่อดำเนินการ อาจดำเนินการโดยพลการโดยการเรียกคำสั่ง OS เพื่อสร้างไฟล์ชื่อ exploited ในไดเร็กทอรี /tmp/ นักวิจัยตั้งข้อสังเกตว่าโค้ดทั้งหมดต้องรันด้วย eval ใน single expression ดังนั้นจึงใช้เคล็ดลับ list comprehension เพื่อจัดโครงสร้างดังกล่าว

     Elyas Damej นักวิจัยของ Cure53 เตือนในบทความของเขาว่าการใช้ประโยชน์จากช่องโหว่ CVE-2023-33733 ทำการรวมโค้ดที่เป็นอันตรายไว้ในไฟล์ HTML ซึ่งจะถูกแปลงเป็น PDF บนซอฟต์แวร์ที่ใช้ไลบรารี ReportLab การใช้ไลบรารีและแสวงหาผลประโยชน์จากสาธารณะทำให้ผู้ใช้จำนวนมากตกอยู่ในความเสี่ยง ผู้จำหน่ายซอฟต์แวร์ที่ใช้ไลบรารีสามารถจัดการกับความเสี่ยงที่เกิดขึ้นได้โดยใช้การอัปเดตความปลอดภัยที่มีอยู่ Damej บอกกับ BleepingComputer ว่าปัญหานี้ได้รายงานไปยังนักพัฒนาของ ReportLab และการแก้ไขมาในเวอร์ชัน 3.6.13 ซึ่งเผยแพร่เมื่อวันที่ 27 เมษายน 2023 นักวิจัยได้ชี้แจงว่าช่องโหว่นี้ส่งผลกระทบต่อไลบรารีเวอร์ชันก่อนหน้าทั้งหมด


https://www.bleepingcomputer.com/news/security/exploit-released-for-rce-flaw-in-popular-reportlab-pdf-library/