WordPress พบช่องโหว่ร้ายแรงในปลั๊กอิน Really Simple Security
ช่องโหว่ในปลั๊กอินรักษาความปลอดภัยของ WordPress ที่ใช้งานในเว็บไซต์จำนวนหลายล้านแห่ง ให้การเข้าถึงแบบผู้ดูแลระบบ
ช่องโหว่ในปลั๊กอินรักษาความปลอดภัยของ WordPress ที่ใช้งานในเว็บไซต์จำนวนหลายล้านแห่ง ให้การเข้าถึงแบบผู้ดูแลระบบ
โดย บิล โทลาส เมื่อวันที่ 17 พฤศจิกายน 2567 เวลา 10:19 น.
ช่องโหว่ด้านการตรวจสอบความถูกต้องของผู้ใช้ที่มีความรุนแรงได้ถูกค้นพบในปลั๊กอินของ WordPress เรียกว่า ‘Really Simple Security’ (เดิมคือ ‘Really Simple SSL’) ซึ่งรวมทั้งเวอร์ชันฟรีและเวอร์ชันพรีเมียม
‘Really Simple Security’ เป็นปลั๊กอินด้านความปลอดภัยสำหรับแพลตฟอร์ม WordPress ที่ให้บริการการตั้งค่า SSL, การป้องกันการเข้าสู่ระบบ, ชั้นการตรวจสอบสองปัจจัย และการตรวจจับช่องโหว่แบบเรียลไทม์ โดยเวอร์ชันฟรีมีผู้ใช้งานกว่า 4 ล้านเว็บไซต์
Wordfence ซึ่งเป็นผู้เปิดเผยช่องโหว่นี้สาธารณะ ระบุว่าเป็นหนึ่งในช่องโหว่ที่รุนแรงที่สุดที่เคยรายงานมาในรอบ 12 ปี โดยช่องโหว่นี้ช่วยให้ผู้โจมตีจากระยะไกลสามารถเข้าถึงสิทธิ์ของผู้ดูแลระบบได้อย่างเต็มรูปแบบ
แย่ไปกว่านั้น ช่องโหว่นี้สามารถถูกใช้โจมตีแบบอัตโนมัติโดยใช้สคริปต์ เพื่อขโมยการควบคุมเว็บไซต์จำนวนมหาศาล ด้วยความเสี่ยงนี้ Wordfence จึงเสนอให้ผู้ให้บริการโฮสติ้งบังคับอัปเดตปลั๊กอินนี้ในเว็บไซต์ของลูกค้า และสแกนฐานข้อมูลเพื่อให้แน่ใจว่าไม่มีใครใช้งานเวอร์ชันที่มีช่องโหว่
การตรวจสอบสองปัจจัยที่ทำให้ความปลอดภัยอ่อนแอลง
ช่องโหว่ที่มีความรุนแรงอยู่ในรหัส CVE-2024-10924 ซึ่งถูกค้นพบโดยนักวิจัยของ Wordfence คือ István Márton เมื่อวันที่ 6 พฤศจิกายน 2567 ซึ่งเกิดจากการจัดการการตรวจสอบผู้ใช้ที่ไม่เหมาะสมในฟังก์ชัน ‘check_login_and_get_user()’ ของปลั๊กอิน ทำให้ผู้ไม่ได้รับอนุญาตสามารถเข้าถึงบัญชีผู้ใช้ได้ รวมถึงผู้ดูแลระบบ
ปัญหาอยู่ที่ว่าเมื่อ ‘login_nonce’ ไม่ถูกต้อง ระบบจะไม่ปฏิเสธการร้องขอ แต่กลับเรียกใช้ฟังก์ชัน ‘authenticate_and_redirect()’ ซึ่งจะตรวจสอบการเข้าสู่ระบบโดยใช้ ‘user_id’ เพียงอย่างเดียว ทำให้สามารถแอบเข้าสู่ระบบได้
ช่องโหว่นี้สามารถถูกใช้งานเมื่อเปิดใช้งานการตรวจสอบสองปัจจัย (2FA) ซึ่งถึงแม้จะปิดใช้งานเป็นค่าเริ่มต้น แต่ผู้ดูแลระบบหลายคนก็จะเปิดใช้เพื่อความปลอดภัยของบัญชีผู้ใช้
CVE-2024-10924 ส่งผลกระทบต่อเวอร์ชัน 9.0.0 และเวอร์ชันที่สูงกว่าถึง 9.1.1.1 ของปลั๊กอิน “ฟรี”, “พรีเมียม” และ “พรีเมียมสำหรับเว็บไซต์หลายเว็บ”
ผู้พัฒนาได้แก้ไขช่องโหว่โดยการตรวจสอบ ‘login_nonce’ ให้ถูกต้อง และออกจากฟังก์ชัน ‘check_login_and_get_user()’ ทันที โดยการแก้ไขนี้ได้ถูกนำมาใช้ในเวอร์ชัน 9.1.2 ของปลั๊กอิน ซึ่งเผยแพร่ในวันที่ 12 พฤศจิกายนสำหรับเวอร์ชันพรีเมียม และวันที่ 14 พฤศจิกายนสำหรับเวอร์ชันฟรี
ผู้พัฒนาได้ประสานงานกับ WordPress.org เพื่อบังคับอัปเดตด้านความปลอดภัยให้กับผู้ใช้ปลั๊กอิน แต่ผู้ดูแลเว็บไซต์ยังต้องตรวจสอบและตรวจสอบให้แน่ใจว่ากำลังใช้เวอร์ชันล่าสุด (9.1.2) ผู้ใช้เวอร์ชันพรีเมียมจะมีการอัปเดตอัตโนมัติถูกปิดใช้เมื่อใบอนุญาตหมดอายุ ดังนั้นจึงต้องอัปเดตด้วยตนเองเป็นเวอร์ชัน 9.1.2
จากข้อมูลเมื่อวานนี้ เว็บไซต์ WordPress.org ที่ติดตามการติดตั้งเวอร์ชันฟรีของปลั๊กอิน แสดงว่ามีการดาวน์โหลดประมาณ 450,000 ครั้ง ทำให้อีก 3,500,000 เว็บไซต์อาจมีความเสี่ยงต่อช่องโหว่นี้