
พบช่องโหว่ที่มีระดับความรุนแรงสูงสุดบนปลั๊กอิน GiveWP ของ WordPress ที่ทำให้ผู้โจมตีที่ไม่ผ่านการยืนยันตัวตนสามารถรันคำสั่งใด ๆ ก็ได้บนเครื่องเซิร์ฟเวอร์ได้
ช่องโหว่นี้มีหมายเลข CVE-2026-82222 ส่งผลกระทบต่อปลั๊กอิน GiveWP จนถึงเวอร์ชัน 4.16.7.1 ซึ่งได้รับการรายงานจาก Udin Chan นักวิจัยด้านช่องโหว่ระบบเมื่อวันที่ 28 กรกฎาคม 2026 ผ่านแพลตฟอร์ม vulnerability intelligence อย่าง Patchstack
ปลั๊กอิน GiveWP มียอดการติดตั้งมากกว่า 100,000 ครั้ง โดยเป็นเครื่องมือที่ช่วยในการรวบรวมเงินบริจาค และจัดการแคมเปญระดมทุน
นักวิจัยจาก Patchstack อธิบายว่า การโจมตีผ่านช่องโหว่นี้สามารถทำได้โดยอาศัยช่องโหว่ 3 ประการ ได้แก่
- ฟังก์ชัน helper ที่ไม่ปลอดภัยสำหรับการทำ Unserialize ข้อมูลรูปแบบ PHP
- กระบวนการรับบริจาค (Donation-processing flow) ที่เปิดช่องให้ผู้โจมตีสามารถแทรก Serialized object ที่เป็นอันตรายเข้ามาบันทึกในระบบได้
- Gadget chain ภายในไลบรารีที่มาพร้อมกับปลั๊กอิน ซึ่งสามารถเรียกใช้ System commands ใด ๆ ก็ได้
Patchstack ระบุว่า ความสำเร็จในการโจมตีนั้นขึ้นอยู่ที่แฮ็กเกอร์มีบัญชีผู้ใช้งานบนเว็บไซต์เป้าหมายหรือไม่ ทั้งนี้การเปิดให้ลงทะเบียนโดยไม่ต้องยืนยันตัวตน กลับช่วยให้แฮ็กเกอร์สามารถสร้างบัญชีผู้ใช้งานได้แม้เว็บไซต์ดังกล่าวจะปิดรับการลงทะเบียนไปแล้วก็ตาม
Patchstack อธิบายว่า "GiveWP ได้เปิดให้มีการสร้างบัญชีผู้ใช้งานที่ไม่ต้องผ่านการยืนยันตัวตน (give_action=user_register) โดยไม่มีการตรวจสอบตัวเลือก users_can_register ของ WordPress หลักเลย"
"แม้ว่าเว็บไซต์ดังกล่าวจะปิดระบบการลงทะเบียนไว้ แต่แฮ็กเกอร์ก็ยังสามารถสร้างบัญชี และรับ Authentication cookie ได้ หลังจากนั้นแฮ็กเกอร์จึงดำเนินการโจมตีในส่วนที่เหลือตามลำดับขั้นตอนเดิม"
หลังผ่านการยืนยันตัวตนสำเร็จ แฮ็กเกอร์จะสามารถบันทึก Object แบบ Serialized ที่เป็นอันตรายไว้ในหน้าโปรไฟล์ส่วนตัว และจากนั้นจะทำการแทรกโค้ดเข้าไปใน Session database ของปลั๊กอิน ผ่านการส่งข้อมูล Donation ที่ถูกปรับแต่งขึ้นมาเป็นพิเศษ
George Johnstone นักวิจัยด้านความปลอดภัยทางไซเบอร์จาก Patchstack ระบุว่า "เซิร์ฟเวอร์จะทำการบันทึกข้อมูล Gadget object ลงใน wp_give_sessions เป็นอันดับแรก จากนั้นจึงค่อยส่ง Error HTTP 500 กลับมา"
เมื่อมีการ Request พร้อมแนบ Authentication cookie ไปยังส่วนแสดงผลหน้า Front-end เซิร์ฟเวอร์ก็จะทำการ Unserialize ข้อมูล Gadget object ดังกล่าว ซึ่งส่งผลให้คำสั่งของผู้โจมตีถูกประมวลผลบนระบบทันที
แม้ว่าปลั๊กอินเวอร์ชัน 4.16.6 ถึง 4.16.7.1 จะยังคงมีช่องโหว่ดังกล่าว แต่การโจมตีจะประสบความสำเร็จก็ต่อเมื่อเว็บไซต์เป้าหมายมีการเปิดใช้งาน Donation form แบบเดิมอยู่ ซึ่งไม่มีการระบุค่า 'formBuilderSettings' เท่านั้น
Patchstack ให้ความเห็นว่า เงื่อนไขดังกล่าวอาจเกิดขึ้นได้ในระบบที่มีการอัปเกรด, เว็บไซต์ที่ใช้งาน Form editor แบบ Option ของปลั๊กอิน หรือเมื่อมีการ Import หรือ Restore form เวอร์ชันเก่า
GiveWP ได้ออกแพตช์แก้ไขช่องโหว่ดังกล่าวในเวอร์ชัน 4.16.7.2 ซึ่งปล่อยอัปเดตเมื่อวันที่ 27 สิงหาคม ที่ผ่านมา โดยปรับเพิ่มมาตรการความปลอดภัยด้วยการบล็อก Serialized data ในระหว่างประมวลผล Donation form พร้อมทั้งจำกัดสิทธิ์การสร้าง Object ในจุดต่าง ๆ ที่มีการทำ Deserialization
นอกจากนี้แพตช์ความปลอดภัยดังกล่าวยังครอบคลุมถึงการลบ Payload ประเภท Serialized object ที่ตกค้างอยู่ในฐานข้อมูลที่ได้รับผลกระทบออกไปด้วย
อย่างไรก็ตาม Patchstack ระบุว่า แม้ขั้นตอนการลงทะเบียนของ GiveWP ยังคงไม่เป็นไปตามการตั้งค่าการลงทะเบียนผู้ใช้ของ WordPress แต่ก็ไม่สามารถใช้ประโยชน์จากช่องโหว่นี้เพื่อรันโค้ดได้อีกต่อไป
ผู้ดูแลเว็บไซต์ที่ใช้งานปลั๊กอิน GiveWP ควรอัปเดตแพตช์เป็นเวอร์ชันล่าสุดโดยเร็ว เพื่อป้องกันผู้ไม่หวังดีนำช่องโหว่ CVE-2026-82222 ไปใช้โจมตีระบบ
ในปีที่ผ่านมา แฮ็กเกอร์ได้มุ่งเป้าโจมตี GiveWP เพื่อเจาะระบบ Pi-hole ซึ่งเป็นเครื่องมือ Ad-blocker ในระดับเครือข่ายยอดนิยม ส่งผลให้ชื่อ และที่อยู่อีเมลของผู้บริจาคจำนวน 30,000 รายเกิดการรั่วไหลออกมา
ที่มา : bleepingcomputer

You must be logged in to post a comment.