สรุปสั้น

ช่องโหว่ความปลอดภัยระดับวิกฤตในปลั๊กอิน Kirki ของ WordPress ที่ใช้กันอย่างแพร่หลาย เปิดทางให้เว็บกว่า 500,000 แห่งเสี่ยงต่อการถูกยึดบัญชี โดยนักวิจัยเตือนว่ามีราว 150,000 เว็บที่ยังเสี่ยงอยู่เพราะใช้เวอร์ชันที่ได้รับผลกระทบ ช่องโหว่นี้ติดตามด้วยรหัส CVE-2026-8206 ได้คะแนน CVSS 9.8 กระทบ Kirki เวอร์ชัน 6.0.0 ถึง 6.0.6

ปัญหาเปิดทางให้ผู้โจมตีที่ไม่ต้องยืนยันตัวตน (unauthenticated) ยกระดับสิทธิ์ด้วยการใช้ประโยชน์จากกลไกรีเซ็ตรหัสผ่านที่มีข้อบกพร่อง จนสามารถยึดบัญชีผู้ดูแลระบบได้อย่างสมบูรณ์ โดยช่องโหว่ถูกค้นพบโดยนักวิจัยชื่อ Choigyeongmin และรายงานผ่านโครงการ Wordfence Bug Bounty ได้รับรางวัล 6,436 ดอลลาร์

บริษัท Wordfence ตรวจสอบยืนยันปัญหาเมื่อวันที่ 8 พฤษภาคม 2569 และรีบ deploy การป้องกันผ่าน firewall ให้ผู้ใช้ระดับพรีเมียมในวันที่ 9 พฤษภาคม ก่อนการเปิดเผยต่อสาธารณะ ขณะที่ผู้พัฒนา Themeum ออกแพตช์ในเวอร์ชัน 6.0.7 ภายในเวลาเพียง 3 วันหลังได้รับรายงาน

รายละเอียดข่าว

เว็บไซต์ Cyber Security News รายงานเมื่อวันที่ 3 มิถุนายน 2569 ว่าพบช่องโหว่ระดับวิกฤตในปลั๊กอิน Kirki ของ WordPress ซึ่งเป็นปลั๊กอินยอดนิยมที่ใช้สำหรับเสริมความสามารถของ customizer และการสร้างหน้าเว็บ โดยช่องโหว่นี้เปิดเผยผ่าน REST API endpoint ที่รับผิดชอบการจัดการคำขอรีเซ็ตรหัสผ่าน

ช่องโหว่อยู่ในฟังก์ชัน handle_forgot_password() ซึ่งไว้ใจอินพุตจากผู้ใช้อย่างไม่เหมาะสมระหว่างกระบวนการรีเซ็ต โดยปกติคำขอรีเซ็ตรหัสผ่านควรส่งลิงก์รีเซ็ตไปยังอีเมลที่ผูกกับบัญชีเป้าหมายเท่านั้น แต่ในเวอร์ชันที่มีช่องโหว่ ปลั๊กอินกลับรับทั้งพารามิเตอร์ username และ email โดยไม่ตรวจสอบความสัมพันธ์ระหว่างกัน

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

เมื่อได้ลิงก์รีเซ็ตแล้ว ผู้โจมตีสามารถตั้งรหัสผ่านใหม่และเข้าถึงบัญชีโดยไม่ได้รับอนุญาต ซึ่งการโจมตีสำเร็จอาจนำไปสู่การยึดเว็บทั้งหมด ทั้งการติดตั้งปลั๊กอินอันตราย ฝัง backdoor สร้างบัญชีแอดมินปลอม หรือวาง webshell แบบถาวร โดยบริษัท Wordfence รายงานช่องโหว่ต่อ Themeum เมื่อวันที่ 15 พฤษภาคม 2569 และมีแพตช์ออกในเวอร์ชัน 6.0.7 ภายใน 3 วัน

WordPress Kirki plugin vulnerability exposes 500000 websites to privilege escalation attacks

รายละเอียดช่องโหว่

หัวใจของช่องโหว่ CVE-2026-8206 คือการขาดการตรวจสอบความสัมพันธ์ระหว่าง username กับ email ในฟังก์ชัน handle_forgot_password() ซึ่งเป็น logic flaw ที่ทำให้กระบวนการรีเซ็ตรหัสผ่านส่ง token ไปยังอีเมลที่ผู้โจมตีกำหนดเองได้ แม้บัญชีเป้าหมายจะผูกกับอีเมลอื่น

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

ความรุนแรงอยู่ที่ความง่ายในการใช้ประโยชน์ประกอบกับผลกระทบสูง โดยเฉพาะเว็บที่เปิดให้เห็น user enumeration หรือมีหน้า login ที่เข้าถึงได้สาธารณะ บริษัท Wordfence ได้ deploy firewall rule ป้องกัน โดยผู้ใช้พรีเมียมได้รับการป้องกันแล้ว ส่วนผู้ใช้ฟรีจะได้รับในวันที่ 8 มิถุนายน 2569

ผลกระทบต่อไทย

WordPress เป็นแพลตฟอร์มเว็บที่ได้รับความนิยมสูงสุดในไทย ทั้งเว็บองค์กร ร้านค้าออนไลน์ บล็อก และเว็บหน่วยงานราชการจำนวนมาก ทำให้เว็บไทยจำนวนมากที่ใช้ปลั๊กอิน Kirki (ซึ่งมักมาพร้อมธีมยอดนิยม) ตกอยู่ในความเสี่ยงโดยตรง

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

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

คำแนะนำ

  1. อัปเดต Kirki เป็น 6.0.7 ขึ้นไปทันที — เป็นมาตรการสำคัญและเร่งด่วนที่สุดในการปิดช่องโหว่
  2. ตรวจสอบกิจกรรมรีเซ็ตรหัสผ่านที่น่าสงสัย — มองหาคำขอรีเซ็ตที่ใช้ username แอดมินแต่อีเมลแปลกปลอม
  3. จำกัด user enumeration — ปิดการเปิดเผยชื่อผู้ใช้ผ่าน REST API และหน้า author archive
  4. ใช้ Wordfence หรือ WAF — เพื่อรับ firewall rule ที่บล็อกการโจมตีช่องโหว่นี้
  5. ตรวจหาบัญชีแอดมินปลอมและ backdoor — หากสงสัยว่าถูกโจมตี ให้ตรวจบัญชีผู้ใช้ ปลั๊กอินที่ติดตั้ง และไฟล์ webshell
  6. เปิด 2FA สำหรับบัญชีแอดมิน — เพิ่มชั้นป้องกันแม้รหัสผ่านจะถูกรีเซ็ต

แหล่งอ้างอิง