พบช่องโหว่ DoS ที่ให้ WordPress ไม่สามารถใช้งานได้

Barak Tawily นักวิจัยด้านความปลอดภัยของอิสราเอลได้พบช่องโหว่ (CVE-2018-6389) ที่การปฏิเสธการให้บริการ (DoS) ใน platform CMS ของ WordPress ซึ่งอาจทำให้ใครๆ สามารถสั่งให้ WorPress ล่มได้จาก Single Machine การโจมตีแบบนี้เหมือนกันกับการโจมตีแบบ DDoS ในระดับเครือข่าย ช่องโหว่นี้มีผลกระทบต่อ WordPress ทุกเวอร์ชั่น ตั้งแต่เวอร์ชั่นที่ออกมาเมื่อ 9 ปีที่แล้ว จนถึงเวอร์ชั่นล่าสุดคือ เวอร์ชั่น 4.9.2

Tawily บอกว่าช่องโหว่นี้อยู่ใน Script ที่ชื่อว่า load-scripts.php ซึ่งเป็นสคริปต์ที่ใช้ประมวลผลคำขอของผู้ใช้ใน CMS ของ WordPress โดยที่ ไฟล์ load-scripts.php นี้ออกแบบมาเฉพาะสำหรับผู้ดูแลระบบเพื่อใช้ปรับปรุงเว็บไซต์ และช่วยให้โหลดหน้าเว็บได้เร็วขึ้น โดยเป็นการรวมไฟล์ JavaScript หลายๆ ไฟล์ไว้ในคำขอเดียว การที่จะให้ไฟล์ load-scripts.php ทำงานได้นั้น ผู้ดูแลระบบจะต้องทำการ Login เข้าสู่ระบบก่อน ซึ่งหากผู้ดูแลระบบ WordPress ไม่ได้จำกัดสิทธิ์การเข้าถึงไว้ ใครๆ สามารถเข้าถึง feature นี้ได้ทุกคน

ที่มาภาพ : The Hacker News

ไฟล์ load-scripts.php นี้จะทำการเรียกไฟล์ JavaScript ขึ้นมาโดยผ่านพารามิเตอร์ ‘load’ ซึ่งขึ้นอยู่กับ plugin และ module ที่ผู้ใช้ติดตั้งไว้ โดยใช้เครื่องหมาย ‘,’ (comma) เป็นตัวแยก เช่น URL: https://your-wordpress-site.com/wp-admin/load-scripts.php? c=1&load=editor,common,user-profile,media-widgets,media-gallery ซึ่งในระหว่างที่กำลังโหลดไซต์ ไฟล์ load-scripts.php ก็จะพยายามหาชื่อไฟล์ JavaScript ที่ระบุไว้ใน URL จากนั้นก็ส่งกลับไปยังผู้ใช้งานเว็บบราวเซอร์

ที่มาภาพ : The Hacker News

วิธีการทำงานของ WordPress DoS Attack นั้นจะทำงานก็ต่อเมื่อมีการเรียกไฟล์ JavaScript โดยส่งชื่อ Script ต่างๆ ไปยัง URL ทำให้เว็บที่ต้องการช้าลง เนื่องจากมีการใช้ CPU และหน่วยความจำที่สูง
แม้ว่าคำขอเดียวจากผู้เข้าชมไม่อาจทำให้เว็บทั้งหมดล่มได้ Tawily ได้ทดสอบความเป็นไปได้ (proof-of-concept (PoC) ) นี้ โดยใช้สคริปต์ python และ doser.py ซึ่งทำให้เกิดคำขอจำนวนมากพร้อมกันไปยัง URL เดียวกันทำให้ Server ของ CPU นั้นล่ม

นอกจากนี้ทาง The Hacker News ได้ทดลองปัญหาช่องโหว่ DoS นี้ กับเครื่อง Server VPS ขนาดกลาง และกับเครื่อง เซิร์ฟเวอร์ dedicated ที่มีระบบประมวลผล และหน่วยความจำสูง โดยทำการโจมตีจาก Single Machine ที่มีความเร็วในการเชื่อมต่อ 40 Mbps ผลปรากฏว่า การโจมตี DoS สามารถทำให้เว็บ WordPress ที่รันอยู่บน Server VPS ที่ใช้ในการทดลองครั้งนี้ล่มได้ ส่วนเว็บที่รันอยู่บน เซิร์ฟเวอร์ dedicated กลับไม่เป็นอะไรเลย แต่อย่างเพิ่งนิ่งนอนใจไปว่า ช่องโหว่นี้จะไม่สามารถทำให้เว็บ WordPress ที่รันอยู่บน Server ใหญ่ๆ ล่มได้ เพราะถ้าหาก Hacker เพิ่มความเร็วในเชื่อมต่อให้สูงขึ้น เว็บ WordPress ที่รันอยู่บน Server ใหญ่ๆ อาจจะล่มได้เหมือนกัน

ที่มาของวิดีโอ : The Hacker News

สำหรับการแก้ไข หรือแนวทางการป้องกันในตอนนี้ยังไม่มี เนื่องจากปัญหาช่องโหว่นี้อยู่ในระดับเครือข่ายมากกว่าระดับแอปพลิเคชั่น ซึ่งอยู่เหนือการควบคุมของ WorPress ซึ่งการป้องกันเบื้องต้นแนะนำให้ซื้อบริการ ป้องกัน DDoS หรือถ้าหากไม่สามารถซื้อได้ นักวิจัยแนะนำให้ใช้ WordPress fork version (WordPress รุ่นที่แยกออกมาจาก โปรแกรม WordPress) หรือให้ติดตั้ง CMS ที่มาจากผู้พัฒนาโดยตรงเท่านั้น

ดูเหมือนว่า ปัญหาช่องโหว่นี้จะเป็นปัญหาที่ร้ายแรง เพราะเว็บส่วนใหญ่ที่ใช้งาน WordPress มีถึง 29% ทำให้หลายๆ ล้านเว็บเสี่ยงต่อการถูก Hacker เข้าไปขโมยค่าต่างๆ และทำให้ผู้ใช้ที่มีสิทธิ์เข้าใช้อย่างถูกต้องไม่สามารถเข้าใช้งานได้

ที่มา : The Hacker News