แจ้งเตือนช่องโหว่ในปลั๊กอินสำหรับ WordPress ที่ส่งผลกระทบต่อความมั่นคงปลอดภัยของระบบ ขอให้ผู้ดูแลระบบเร่งดำเนินการแก้ไขโดยด่วน

ยอดเข้าชม: 28 views

ศูนย์ประสานการรักษาความมั่นคงปลอดภัยระบบคอมพิวเตอร์แห่งชาติ (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. แหล่งอ้างอิง

[1] https://dg.th/q120b5aesp

[2] https://dg.th/qphsl98rwy

[3] https://dg.th/9ewypvm2xa

[4] https://dg.th/7bweuk9vdm

[5] https://dg.th/bh6xusm9qr

[6] https://dg.th/tz4asr9v8o