มีการพบช่องโหว่กว่า 100 ปลั๊กอิน สำหรับ WordPress ส่งผลกระทบกว่า 6 ล้านเว็บ ช่องโหว่เหล่านี้จะช่วยให้แฮกเกอร์สามารถทำการโจมตีแบบ Cross-Site Scripting (XSS) แล้วฝังโค้ดที่เป็นอันตรายลงบนเว็บไซต์ผ่านปลั๊กอินหรือธีมที่มีช่องโหว่ หรือเปลี่ยนเส้นทางไปยังเว็บที่เป็นอันตรายได้

ช่องโหว่นี้ถูกพบโดยทีมงาน Wordfence Threat Intelligence เมื่อวันที่ 14 สิงหาคม 2023 ซึ่งปัญหาเกิดจาก shortcode ที่ถูกสร้างจากนักพัฒนาปลั๊กอินหรือธีมที่มี Macro code เฉพาะเพื่อสร้างเนื้อหาทั้งแบบไดนามิกและอัตโนมัติ

shortcode ที่ใช้โพสต์เนื้อหาหรือ content บน WordPress จะถูกตรวจสอบก่อนที่จะถูกนำไปเก็บลงในฐานข้อมูลหลักของ WordPress ซึ่งหากไม่คิดอะไรมาก เราก็อาจมองว่าแค่นี้ก็ปลอดภัยแล้ว แต่… ฟังก์ชัน wp_kses_post() จะตรวจสอบเฉพาะ HTML เท่านั้น

ทีนี้หาก HTML มีโค้ดแปลกๆ ติดมาด้วย wp_kses_post() ก็จะไม่ตรวจ ยกตัวอย่างเช่น โค้ด HTML[custom_link class=”<p onmouseover=’alert(/XSS/)’>Click Here!</p>”]

จากตัวอย่างด้านบนฟังก์ชัน wp_kses_post() จะตรวจสอบแค่ tag <p> กับ attribute HTMLเท่านั้นส่วน [cutsom_link class=”‘ onmouseover=’alert(/XSS/)’”] นั้นไม่ใช่ tag HTML ฟังก์ชันนี้ก็จะไม่ตรวจสอบ ทำให้แฮกเกอร์เห็นประโยชน์จากช่องโหว่นี้ จึงทำการโจมตีได้

และถึงแม้ว่า WordPress จะมีคู่มือชี้แจงเกี่ยวกับการหลบหลีกในการเขียนโค้ดไว้ว่า “ฟังก์ชัน WordPress ส่วนใหญ่เตรียมข้อมูลสำหรับเอาต์พุตอย่างเหมาะสม และไม่จำเป็นต้องมีการ Escape เพิ่มเติม” – https://developer.wordpress.org/apis/security/escaping/ แต่ก็ยังมีการหลบหลีกอยู่

สำหรับปลั๊กอินที่ได้รับผลกระทบนี้สามารถดูได้ที่ Vulnerability Summary from Wordfence Intelligence

ดังนั้น หากใครใช้ปลั๊กอินตามรายชื่อนี้อยู่ แนะนำให้ทำการอัปเดตใหเป็นเวอร์ชันล่าสุด แต่หากปลั๊กอินไหนยังไม่ได้ทำารแก้ไขช่องโหว่ แนะนำให้ปิดการใช้งานปลั๊กอินนี้ไปก่อน เพื่อเป็นการป้องกันการโจมตี

ที่มา Wordfence