
การวิเคราะห์ล่าสุดโดย Rhino Security Labs พบช่องโหว่ระดับ critical ใน Appsmith developer tool ซึ่งเป็นแพลตฟอร์มที่ใช้ในการสร้างแอปพลิเคชันภายใน เช่น dashboards และ customer support
ช่องโหว่ระดับ critical ที่พบ มีหมายเลข CVE-2024-55963 ซึ่งทำให้สามารถเรียกใช้โค้ดที่เป็นอันตรายจากระยะไกลได้โดยไม่ต้องผ่านการยืนยันตัวตน เนื่องจากการตั้งค่าฐานข้อมูล PostgreSQL ไม่ถูกต้อง
Appsmith เป็น developer tool แบบ open-source ที่ได้รับความนิยมจากความสามารถในการเชื่อมต่อกับแหล่งข้อมูลต่าง ๆ กับ user interfaces รวมถึงฐานข้อมูล และ Large Language Models (LLMs)
อย่างไรก็ตามการติดตั้งแบบ default ของเครื่องมือนี้มีฐานข้อมูล PostgreSQL ที่ตั้งค่าไม่ถูกต้อง

โดยเฉพาะไฟล์ PostgreSQL authentication (pg_hba.conf) ถูกตั้งค่าให้อนุญาตให้ผู้ใช้ในระดับ local สามารถ connect เป็นผู้ใช้ PostgreSQL ใดก็ได้ โดยไม่ต้องใช้รหัสผ่าน ซึ่งสามารถถูกใช้ประโยชน์เพื่อการเรียกใช้โค้ดที่เป็นอันตรายจากระยะไกลได้
วิธีการโจมตีนี้จะใช้ประโยชน์จากการตั้งค่าเริ่มต้นของ Appsmith ที่อนุญาตให้ผู้ใช้สมัครสมาชิกได้ ดังนั้นผู้โจมตีสามารถสมัครสมาชิกในแอปพลิเคชัน หลังจากนั้นสร้าง workspace และ application ใหม่ขึ้นมา ทำการเชื่อมต่อกับฐานข้อมูล PostgreSQL ที่มีช่องโหว่
จากนั้น ผู้โจมตีก็จะสามารถรันคำสั่ง SQL ที่ทำให้สามารถรันคำสั่งระบบได้ ซึ่งเป็นความเสี่ยงต่อองค์กรที่ใช้งาน Appsmith
การอธิบาย Proof of Concept (PoC)
proof-of-concept แสดงให้เห็นว่าผู้โจมตีสามารถใช้ช่องโหว่นี้ได้อย่างไร โดยการสร้าง table ขึ้นมา แล้วคัดลอกข้อมูลจากโปรแกรมไปยัง table (เช่น การใช้คำสั่ง cat /etc/passwd) เลือกข้อมูลจาก table นั้น และสุดท้ายลบ table เพื่อไม่ให้มีร่องรอยในการติดตาม


การใช้ประโยชน์จากช่องโหว่นี้เกิดขึ้นได้เพราะ server application เชื่อมต่อกับฐานข้อมูลโดยตรง ซึ่งทำให้ผู้โจมตีสามารถ Bypass การตรวจสอบความปลอดภัยของฝั่ง client ได้

ช่องโหว่เพิ่มเติม
นอกจาก CVE-2024-55963 ยังมีช่องโหว่อีกสองรายการที่ถูกระบุไว้
CVE-2024-55964: Insecure Direct Object Reference (IDOR) อนุญาตให้เข้าถึง SQL โดยไม่ได้รับอนุญาต
ช่องโหว่นี้ส่งผลกระทบต่อผู้ใช้งานที่มี "App Viewer" role ซึ่งควรมีสิทธิ์ในการดูเท่านั้น
อย่างไรก็ตาม หลังการปรับแต่ง API ผู้โจมตีสามารถระบุ และเข้าถึงการเชื่อมต่อฐานข้อมูลได้ ซึ่งจะทำให้ผู้โจมตีสามารถดำเนินการคำสั่ง SQL แบบสุ่มต่อฐานข้อมูลใน workspace ที่สามารถเข้าถึงได้
การโจมตีใช้วิธีการทดสอบโดยการเดาหรือสุ่ม (brute-forcing) เพื่อหาส่วนที่สามารถคาดเดาได้ของ datasource IDs และใช้ API endpoint ที่ออกแบบมาสำหรับฐานข้อมูล SQL โดยเฉพาะ
ถึงแม้ว่าช่องโหว่นี้จะได้รับการลดความเสี่ยงด้วยการทำ workspace-level authorization แต่ยังคงเป็นความเสี่ยงในการเปิดเผยข้อมูลที่มีความสำคัญอยู่ดี
CVE-2024-55965: การปฏิเสธการให้บริการ (Denial of Service) ผ่าน Broken Access Control
ช่องโหว่นี้เกี่ยวข้องกับ permission check ซึ่งอนุญาตให้ผู้ใช้ที่มี "App Viewer" role สามารถรีสตาร์ท server application ได้ ทำให้เกิดการโจมตีแบบปฏิเสธการให้บริการ (Denial-of-Service)
การถูกโจมตีเกิดขึ้นจากการใช้ persistent session cookies ซึ่งผู้โจมตีสามารถ request รีสตาร์ทซ้ำ ๆ โดยอัตโนมัติ จนทำให้การเข้าถึง application ไม่สามารถทำได้
โดยช่องโหว่อยู่ที่ Global Exception Handler ซึ่งสามารถ Bypass permission check สำหรับ request บางอย่างอย่างไม่ถูกต้อง รวมถึงฟังก์ชันการรีสตาร์ท ซึ่งนำไปสู่การเข้าถึงการทำงานในระดับผู้ดูแลระบบโดยไม่ได้รับอนุญาต
ผลกระทบ และการลดความเสี่ยง
ช่องโหว่นี้ส่งผลกระทบต่อเวอร์ชันของ Appsmith ตั้งแต่ 1.20 ถึง 1.51 ในผลิตภัณฑ์ทั้งหมด สำหรับการลดความเสี่ยงจากช่องโหว่เหล่านี้ แนะนำให้องค์กรอัปเดตการติดตั้ง Appsmith ให้เป็นเวอร์ชันที่มีการแก้ไขช่องโหว่แล้ว
Rhino Security Labs ได้จัดเตรียมสคริปต์สำหรับการโจมตี และเครื่องมือสำหรับตรวจจับเพื่อช่วยทีมงานด้านความปลอดภัยในการระบุ และป้องกันช่องโหว่
สคริปต์ และเครื่องมือสามารถดาวน์โหลดได้จาก CVE Github repository ซึ่งมีการแนะนำมาตรการป้องกันล่วงหน้าเพื่อช่วยป้องกันการโจมตีที่อาจเกิดขึ้น
การเปิดเผยช่องโหว่เหล่านี้แสดงให้เห็นถึงความสำคัญของการทดสอบความปลอดภัยอย่างเข้มงวด และการตรวจสอบการตั้งค่าระบบในเครื่องมือพัฒนาซอฟต์แวร์
องค์กรที่ใช้ Appsmith ควรให้ความสำคัญกับการอัปเดตการติดตั้ง และตรวจสอบการตั้งค่าปัจจุบัน เพื่อป้องกันการเข้าถึงโดยไม่ได้รับอนุญาต และการดำเนินการเรียกใช้โค้ดที่เป็นอันตรายจากระยะไกลที่อาจเกิดขึ้น
หากดำเนินการอย่างรวดเร็ว บริษัทต่าง ๆ จะสามารถปกป้องระบบ และข้อมูลของตนจากช่องโหว่เหล่านี้ได้ พร้อมทั้งยังคงใช้ฟังก์ชันที่เป็นประโยชน์ของ Appsmith ได้อย่างต่อเนื่อง ขณะเดียวกันก็ช่วยลดความเสี่ยงจากการถูกโจมตี
ที่มา : Gbhackers

You must be logged in to post a comment.