พบช่องโหว่ใน WordPress custom field plugin ทำให้เว็บไซต์กว่า 1 ล้านรายการเสี่ยงต่อการถูกโจมตีแบบ XSS

นักวิจัยด้านความปลอดภัยจาก Patchstack แจ้งเตือนปลั๊กอิน WordPress 'Advanced Custom Fields' และ 'Advanced Custom Fields Pro' ซึ่งมีการติดตั้งไปแล้วหลายล้านครั้ง มีความเสี่ยงต่อการถูกโจมตีแบบ cross-site scripting (XSS) โดยปลั๊กอินทั้งสองนี้เป็นหนึ่งใน WordPress custom field plugin ที่ได้รับความนิยมมากที่สุดของ WordPress โดยมีการติดตั้งที่ใช้งานอยู่กว่า 2,000,000 ครั้ง บนเว็บไซต์ทั่วโลก

ช่องโหว่ XSS ดังกล่าวมีหมายเลข CVE-2023-30777 (คะแนน CVSS 6.1/10 ระดับความรุนแรงสูง) โดยถูกค้นพบเมื่อวันที่ 2 พฤษภาคม 2023

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

แต่ทั้งนี้ Patchstack ระบุว่าช่องโหว่นี้อาจถูกเรียกใช้จากการติดตั้งเป็นค่าเริ่มต้น หรือการกำหนดค่าของปลั๊กอินใน Advanced Custom Fields รวมถึงช่องโหว่ XSS สามารถเรียกใช้จากผู้ใช้งานที่เข้าสู่ระบบซึ่งมีสิทธิ์เข้าถึงปลั๊กอิน Advanced Custom Fields เท่านั้น ซึ่งหมายความว่า Hacker ที่ไม่ผ่านการยืนยันตัวตน จะยังคงต้องใช้วิธีอย่าง Social Engineer เพื่อหลอกให้ผู้ใช้งานที่สามารถเข้าถึงปลั๊กอิน ทำการเรียกใช้ URL ที่เป็นอันตราย

ปัจจุบันผู้พัฒนาปลั๊กอินได้ทำการออกแพตซ์อัปเดตด้านความปลอดภัยในวันที่ 4 พฤษภาคม 2023 ในเวอร์ชัน 6.1.6

ช่องโหว่ XSS

ช่องโหว่ CVE-2023-30777 เกิดจากตัวจัดการฟังก์ชัน 'admin_body_class' ซึ่งไม่สามารถล้างค่าเอาต์พุตของ hook ที่ควบคุม และกรอง CSS classes (design and layout) สำหรับแท็กเนื้อหาหลักในพื้นที่ผู้ดูแลระบบของ WordPress ได้อย่างเหมาะสมบนเว็บไซต์

โดย Hacker สามารถใช้การต่อโค้ดโดยตรงที่ไม่ปลอดภัยบนโค้ดของปลั๊กอิน โดยเฉพาะตัวแปร '$this→view' เพื่อเพิ่มโค้ดที่เป็นอันตราย (DOM XSS payloads) ในคอมโพเนนต์ที่จะส่งผ่านไปยัง final product ซึ่งเป็น class string

รวมถึง cleaning function ใช้โดยปลั๊กอิน 'sanitize_text_field' จะไม่สามารถหยุดการโจมตีได้ เนื่องจากไม่สามารถดักจับการแทรกโค้ดที่เป็นอันตรายได้

ปัจจุบันนักพัฒนาได้แก้ไขช่องโหว่ในเวอร์ชัน 6.1.6 โดยใช้ฟังก์ชันใหม่ที่ชื่อ ' esc_attr ' ซึ่งจะล้างค่าเอาต์พุตของ hook admin_body_class อย่างเหมาะสม ดังนั้นจึงสามารถป้องกันการโจมตีรูปแบบ XSS ได้

รวมถึงนักพัฒนาปลั๊กอินได้ทำการแจ้งเตือนไปยังผู้ใช้งาน 'Advanced Custom Fields' และ 'Advanced Custom Fields Pro' ทุกคนควรอัปเกรดเป็นเวอร์ชัน 6.1.6 หรือใหม่กว่าโดยเร็วที่สุด เนื่องจากพบว่าจากสถิติการดาวน์โหลดของ WordPress.org พบว่าผู้ใช้ปลั๊กอิน 72.1% ยังคงใช้เวอร์ชันต่ำกว่า 6.1 ซึ่งมีความเสี่ยงต่อ XSS และช่องโหว่อื่น ๆ

ที่มา : bleepingcomputer