ช่องโหว่ในปลั๊กอินความปลอดภัยในเว็บไซต์ WordPress หลายล้านแห่งเปิดให้เข้าถึงบัญชีผู้ดูแลระบบ

พบช่องโหว่ Authentication Bypass ระดับ Critical ที่ส่งผลกระทบกับปลั๊กอิน WordPress 'Really Simple Security' (ชื่อเดิม 'Really Simple SSL') ทั้งในเวอร์ชันฟรี และเวอร์ชัน Pro

Really Simple Security เป็นปลั๊กอินความปลอดภัยสำหรับแพลตฟอร์ม WordPress ที่มีฟีเจอร์การตั้งค่า SSL, การป้องกันการเข้าสู่ระบบ, การตรวจสอบสิทธิ์แบบหลายขั้นตอน และการตรวจจับช่องโหว่แบบเรียลไทม์ เวอร์ชันฟรีของปลั๊กอินนี้มีการใช้งานในเว็บไซต์มากกว่า 4 ล้านแห่ง

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

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

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

2FA ที่อาจทำให้ความปลอดภัยลดลง

ช่องโหว่ระดับ Critical ที่เป็นปัญหาคือ CVE-2024-10924 ซึ่งถูกค้นพบโดยนักวิจัยของ Wordfence, István Márton เมื่อวันที่ 6 พฤศจิกายน 2024

ช่องโหว่นี้เกิดจากการจัดการการตรวจสอบสิทธิ์ของผู้ใช้งานที่ไม่ถูกต้องในฟังก์ชัน two-factor ของ REST API ในปลั๊กอิน ซึ่งทำให้สามารถเข้าถึงบัญชีผู้ใช้งานได้โดยไม่ได้รับอนุญาต รวมถึงบัญชีผู้ดูแลระบบ

ปัญหานี้อยู่ที่ฟังก์ชัน 'check_login_and_get_user()' ซึ่งทำการตรวจสอบตัวตนของผู้ใช้งาน โดยการตรวจสอบพารามิเตอร์ 'user_id' และ 'login_nonce'

เมื่อ 'login_nonce' ไม่ถูกต้อง request จะไม่ถูกปฏิเสธอย่างที่ควรจะเป็น แต่กลับเรียกใช้ฟังก์ชัน 'authenticate_and_redirect()' ซึ่งจะทำการยืนยันตัวตนของผู้ใช้งาน โดยพิจารณาจากเพียงแค่ 'user_id' เท่านั้น ทำให้สามารถ bypass การ authentication ได้

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

CVE-2024-10924 ส่งผลกระทบต่อปลั๊กอินในเวอร์ชัน 9.0.0 ถึง 9.1.1.1 ทั้งเวอร์ชันฟรี, Pro และ Pro Multisite

นักพัฒนาทำการแก้ไขช่องโหว่ โดยการทำให้แน่ใจว่าโค้ดสามารถจัดการการตรวจสอบ 'login_nonce' ได้อย่างถูกต้อง หาก request ถูกปฏิเสธจะออกจากฟังก์ชัน 'check_login_and_get_user()' ทันที

การแก้ไขช่องโหว่ดังกล่าวได้ถูกนำไปใช้ในเวอร์ชัน 9.1.2 ของปลั๊กอิน ซึ่งเผยแพร่เมื่อวันที่ 12 พฤศจิกายน 2024 สำหรับเวอร์ชัน Pro และวันที่ 14 พฤศจิกายน 2024 สำหรับผู้ใช้งานฟรี

ผู้ผลิตได้ประสานงานกับ WordPress.org เพื่อดำเนินการอัปเดตแพตซ์ความปลอดภัยแบบบังคับให้กับผู้ใช้งานปลั๊กอิน แต่ผู้ดูแลเว็บไซต์ยังคงต้องตรวจสอบ และยืนยันว่าได้ใช้งานเวอร์ชันล่าสุด (9.1.2) ไปแล้วหรือไม่

ผู้ใช้งานเวอร์ชัน Pro จะถูกปิดการอัปเดตอัตโนมัติเมื่อ License หมดอายุ ดังนั้นจะต้องทำการอัปเดตเวอร์ชัน 9.1.2 ด้วยตนเอง

เมื่อวานนี้ (16 พฤศจิกายน 2024) เว็บไซต์สถิติของ WordPress.org ซึ่งติดตามการติดตั้งเวอร์ชันฟรีของปลั๊กอินได้แสดงจำนวนดาวน์โหลดประมาณ 450,000 ครั้ง เหลือเว็บไซต์อีก 3,500,000 เว็บไซต์ยังคงมีความเสี่ยงจากช่องโหว่นี้

ที่มา : bleepingcomputer