Feature ใหม่ที่จะมาพร้อมกับ WordPress เวอร์ชั่นใหม่ คาดว่าอาจจะมีปัญหา

ทีมพัฒนาของ WordPress ได้พัฒนา feature ใหม่ที่ชื่อว่า “WSOD (white-screen-of-death) Protection” ซึ่งจะออกมาพร้อมกับ WordPress เวอร์ชั่น 5.1

นักพัฒนาหลักของ WordPress Felix Arntz อธิบายถึงการทำงานของ feature นี้ว่า เมื่อเกิด PHP error และรู้ว่า error นั้นเกิดขึ้นจากปลั๊กอิน หรือธีมตัวไหน feature นี้จะช่วยให้ WordPress จดจำ error ที่เกิดขึ้น โดยได้ทำการทดสอบ feature นี้เมื่อประมาณเดือนที่แล้ว ซึ่งจะสามารถช่วยให้เจ้าของเว็บสามารถอัปเดตการใช้งานเซิร์ฟเวอร์จาก PHP เวอร์ชั่น 5.x ไปเป็นเวอร์ชั่น 7.x ได้

โดย “WSOD Protection” จะหยุดการทำงานของปลั๊กอินหรือธีมนั้นทันที และอนุญาตให้ผู้ดูแลระดับแอดมินของเว็บเข้าสู่หลังบ้านของ WordPress ได้ ทำให้แอดมินสามารถเข้าไปตรวจสอบปัญหาที่เกิดขึ้น และทำการปิดปลั๊กอิน หรือธีมที่เป็นปัญหาได้


ภาพจาก: ZD Net

แต่อย่างไรก็ตามมีนักวิจัยหลายท่านเริ่มเกิดความกังวลเกี่ยวกับการใช้งาน feature นี้ ล่าสุด Slavco Mihajloski นักล่าบั๊กได้ออกมาโพสลงบนบล็อคของเขาเกี่ยวกับช่องโหว่ของ feature นี้ เขาบอกว่า แฮกเกอร์อาจประโยชน์จากการใช้สิทธิ์ระดับล่างสุดและทำการโจมตีที่ไม่เป็นอันตรายต่อปลั๊กอิน WordPress เพื่อสร้าง PHP error ทำให้ feature “WSOD protection” ทำงาน จากนั้นแฮกเกอร์จะใช้ประโยชน์ของ feature ปิดการทำงาน firewall, ปิดการยืนยันตัวตนแบบ 2 ชั้น, ปิดการป้องกับการโจมตีแบบ brute-force และปิดปลั๊กอินอื่นๆ ที่เกี่ยวกับทางด้านความปลอดภัยที่ติดตั้งไว้บน WordPress

Matt Rusnak หัวหน้า QA ของ WordFence ได้แชร์ความเห็นของ Mihajloski พร้อมกับชี้แจงให้เห็นถึงช่องทางการโจมตีอื่นๆ ที่อาจเกิดขึ้นจาก feature “WSOD Protection”

  1. เมื่อ feature “WSOD Protection” ทำงานอาจทำให้ปลั๊กอินที่กำลังทำงานอยู่หยุดการทำงานได้ การที่ปลั๊กอินหยุดทำงานนี้ไม่ใช่สาเหตุหลักของปัญหา ซึ่งอาจทำให้เกิดปัญหาด้านความปลอดภัยได้ หรืออาจจะสร้างความสับสนให้กับผู้ดูแลระบบ
  2. เมื่อ feature “WSOD Protection” ทำงานแฮกเกอร์จะใช้ประโยชน์จากช่องโหว่ LFI (Local File Inclusion-ช่องโหว่ชนิดหนึ่งที่ช่วยให้แฮกเกอร์สามารถดึงไฟล์อื่นๆ ที่อยู่ในเว็บไชต์มารัน หรือดูได้) ในปลั๊กอินหรือธีมต่างๆ หยุดการทำงานของปลั๊กอิน ซึ่งปกติแล้วเมื่อปลั๊กอินหรือธีมมีช่องโหว่ LFI แฮกเกอร์จะไม่สามารถใช้ช่องโหว่นี้เพื่อเปลี่ยนแปลงเว็บไซต์ แต่ถ้าหากปลั๊กอินหยุดการทำงานโดย WP 5.1 มีการยืนยัน class อีกครั้งหนึ่ง แฮกเกอร์จะสามารถเลือกปลั๊กอินที่หยุดการทำงานได้ แม้ว่าปลั๊กอินนั้นจะไม่มีช่องโหว่เลยก็ตาม ปลั๊กอินที่ Rusnak ยกตัวอย่างปลั๊กอิน Jetpack, WPS Hide Login, และ Akismet
  3. เมื่อ feature “WSOD Protection” ทำงาน อาจเป็นไปได้ว่าเกิดปัญหา max_execution_time เช่นเดียวกับ memory_limit บนแชร์โฮสทำให้แชรืโฮสรันช้ามาก หรือเซิร์ฟเวอร์อาจจะทำงานหนัก หรืออาจทำให้เกิด Request time out ซึ่งอาจจะเกิดขึ้นในกรณีที่มีการ random โค้ดของปลั๊กอินหรือธีม

ซึ่งทางทีมงานของ WordPress เมื่อได้ฟังความคิดเห็นของ Rusnak ก็ได้ทำการเพิ่มตัวเลือกในการตั้งค่าไฟล์ wp-config.php ที่อนุญาตให้ผู้ดูแลเว็บสามารถปิดการใช้งาน “WSOD Protection” ได้ ตัวเลือกนี้มีชื่อว่า “WP_DISABLE_FATAL_ERROR_HANDLER”

เมื่อเกิดปัญหาช่องโหว่ feature “WSOD Protection” ขึ้นมา ไม่แน่ใจว่า WordPress 5.1 ที่กำลังออกเร็วๆ นี้ จะตั้งค่าเริ่มต้น feature นี้เปิดหรือปิด แต่ถ้าช่องโหว่ยังไม่ได้รับการแก้ไข และยังถูกเพิ่มลงใน wp-config.php ของ WordPress 5.1

เพื่อเป็นการปัญหาช่องโหว่นี้ ผู้เชี่ยวชาญแนะนำว่า ให้เจ้าของเว็บไซต์ทำการอัปเดตเซิร์ฟเวอร์ PHP และ ปลั๊กอิน กับธีมของ WordPress หรือให้ปิดใช้งาน feature “WSOD Protection” เสีย

ที่มา: ZDNet