
ศูนย์ประสานการรักษาความมั่นคงปลอดภัยระบบคอมพิวเตอร์แห่งชาติ (ThaiCERT) ได้ติดตามสถานการณ์ช่องโหว่ด้านความมั่นคงปลอดภัย เกี่ยวกับช่องโหว่ในปลั๊กอินสำหรับ WordPress ที่อาจถูกใช้ในการยกระดับสิทธิ์และเข้าควบคุมระบบได้โดยไม่ได้รับอนุญาต จึงขอให้ผู้ดูแลระบบที่ใช้งานปลั๊กอินดังกล่าว ตรวจสอบสถานะการใช้งานและดำเนินการแก้ไขโดยเร่งด่วน เพื่อลดความเสี่ยงจากการถูกบุกรุกระบบ
1. รายละเอียดช่องโหว่
1.1 ช่องโหว่ในปลั๊กอิน Everest Forms สำหรับ WordPress [1] หมายเลข CVE-2026-3296 ( มีคะแนน CVSS v3.1: 9.8 ) [2] เป็นช่องโหว่ประเภท PHP Object Injection ที่เกิดจากการนำข้อมูลที่ไม่เชื่อถือได้มาประมวลผลด้วยฟังก์ชัน unserialize() โดยไม่มีการกำหนดข้อจำกัดของคลาส (allowed_classes) ส่งผลให้ผู้โจมตีสามารถฝัง serialized PHP object payload ผ่านฟอร์มสาธารณะ และรอให้ระบบประมวลผลภายหลัง (stored deserialization) ซึ่งอาจนำไปสู่การโจมตีในลักษณะ Remote Code Execution (RCE)
ช่องโหว่นี้เกิดจากการเรียกใช้ฟังก์ชัน unserialize() ในไฟล์ html-admin-page-entries-view.php [3] โดยมีลักษณะดังนี้
– มีการนำข้อมูลจาก form entries (user input) มาประมวลผลโดยตรงด้วย unserialize()
– ไม่มีการกำหนด allowed_classes เพื่อจำกัดชนิดของ object
– ข้อมูลที่เป็น serialized payload สามารถผ่านการกรองด้วย sanitize_text_field() ได้
– ข้อมูลดังกล่าวถูกจัดเก็บในฐานข้อมูล (wp_evf_entrymeta) และจะถูกประมวลผลเมื่อผู้ดูแลระบบเข้าดูข้อมูล
1.2 ช่องโหว่ในปลั๊กอิน Users manager – PN สำหรับ WordPress [4] หมายเลข CVE-2026-4003 ( มีคะแนน CVSS v3.1: 9.8 ) [5] เป็นช่องโหว่ประเภท Privilege Escalation ที่เกิดจากการขาดการตรวจสอบสิทธิ์ในการเข้าถึง (Missing Authorization) ส่งผลให้ผู้โจมตีสามารถดำเนินการที่ควรจำกัดเฉพาะผู้มีสิทธิ์ได้ ซึ่งอาจนำไปสู่การเข้าถึงหรือแก้ไขข้อมูลผู้ใช้ การฝังมัลแวร์ที่เป็นอันตราย และการเปลี่ยนแปลงเนื้อหาเว็บไซต์โดยไม่ได้รับอนุญาต
ช่องโหว่นี้เกิดจากข้อบกพร่องในการตรวจสอบสิทธิ์ภายในฟังก์ชัน userspn_ajax_nopriv_server() (กรณี userspn_form_save) [6] โดยมีลักษณะดังนี้
– ระบบจะบล็อกผู้ใช้ที่ไม่ได้ยืนยันตัวตนเฉพาะกรณีที่ค่า user_id ว่าง
– หากมีการระบุค่า user_id ที่ไม่ว่าง จะสามารถข้ามการตรวจสอบสิทธิ์ (authorization bypass) ได้
– ส่งผลให้ผู้โจมตีสามารถแก้ไขข้อมูล User Meta ของผู้ใช้งานรายอื่นได้โดยไม่ได้รับอนุญาต
2. ผลิตภัณฑ์ที่ได้รับผลกระทบ
2.1 ปลั๊กอิน Everest Forms สำหรับ WordPress ทุกเวอร์ชันตั้งแต่เริ่มต้นจนถึง 3.4.3
2.2 ปลั๊กอิน Users manager – PN สำหรับ WordPress ทุกเวอร์ชันตั้งแต่เริ่มต้นจนถึง 1.1.15
3. แนวทางการแก้ไข
ผู้ดูแลระบบควรดำเนินการตรวจสอบและอัปเดตปลั๊กอินสำหรับ WordPress เป็นเวอร์ชันล่าสุด (หากมีการเผยแพร่แพตช์แก้ไขแล้ว) ในกรณีที่ยังไม่สามารถอัปเดตได้ทันที ควรดำเนินมาตรการลดความเสี่ยง (Workaround) ดังต่อไปนี้
3.1 พิจารณาปิดการใช้งานปลั๊กอินที่มีช่องโหว่เป็นการชั่วคราว หากไม่มีความจำเป็นต่อการให้บริการ
3.2 จำกัดการเข้าถึง endpoint ที่เกี่ยวข้อง เฉพาะผู้ใช้งานที่ได้รับอนุญาต
3.3 ใช้ Web Application Firewall (WAF) เพื่อตรวจจับและป้องกันคำขอที่มีลักษณะผิดปกติ
3.4 หลีกเลี่ยงการประมวลผลข้อมูลที่ไม่เชื่อถือได้ด้วยฟังก์ชันที่มีความเสี่ยง
3.5 ตรวจสอบและจำกัดสิทธิ์การเข้าถึงข้อมูลสำคัญ รวมถึงการแสดงผลข้อมูลที่มาจากผู้ใช้ (เช่น form entries)
4. คำแนะนำด้านความปลอดภัยเพิ่มเติม
4.1 ตรวจสอบ Log การใช้งานย้อนหลัง เพื่อหาพฤติกรรมต้องสงสัยในระบบ
4.2 ตรวจสอบบัญชีผู้ใช้ว่ามีการยกระดับสิทธิ์โดยไม่ได้รับอนุญาตหรือไม่
4.3 ใช้หลัก Least Privilege ในการกำหนดสิทธิ์ผู้ใช้งาน
4.4 เปิดใช้งาน Multi-Factor Authentication (MFA) สำหรับบัญชีผู้ดูแลระบบ
4.5 อัปเดต WordPress Core และปลั๊กอินอื่น ๆ อย่างสม่ำเสมอ
4.6 สำรองข้อมูล (Backup) ระบบเป็นประจำ และทดสอบการกู้คืนข้อมูล
4.7 ใช้ระบบตรวจจับการบุกรุก (IDS/IPS) หรือ Endpoint Security เพื่อเฝ้าระวัง
5. แหล่งอ้างอิง
