ช่องโหว่ Privilege Escalation — CVE-2026-120554 (CVSS 8.8)
📋 สรุปช่องโหว่
ช่องโหว่ Privilege Escalation ใน WordPress Plugin "Import and export users and customers" ถูกค้นพบโดยมี CVSS Score 8.8 ระดับ "สูง"
ช่องโหว่นี้ทำให้ผู้ใช้ที่มีสิทธิ์ต่ำ (เช่น Subscriber หรือ Contributor) สามารถยกระดับสิทธิ์ตัวเองเป็น Administrator ได้โดยไม่ได้รับอนุญาต ปัญหาเกิดจากการตรวจสอบ permission ที่ไม่รัดกุมในฟังก์ชันสำคัญของระบบ
แม้ว่าการโจมตีนี้ต้องมีบัญชีในระบบ แต่ความเสียหายที่เกิดขึ้นได้นั้นเทียบเท่ากับการที่ผู้โจมตีได้รับสิทธิ์ Admin เต็มรูปแบบ
💥 ผลกระทบที่อาจเกิดขึ้น
ผลกระทบเมื่อผู้โจมตียกระดับสิทธิ์สำเร็จ:
• ควบคุมเว็บไซต์สมบูรณ์: เข้าถึงทุกส่วนของ Admin Dashboard
• แก้ไข/ลบเนื้อหาทั้งหมด: ทำลาย SEO และชื่อเสียงองค์กร
• ติดตั้ง Plugin อันตราย: เพิ่ม backdoor หรือ malware เข้าไปในระบบ
• ขโมยข้อมูลผู้ใช้: เข้าถึงข้อมูลสมาชิกทั้งหมด
• เปลี่ยน Admin Password: ล็อกเจ้าของเว็บออกจากระบบ
• สร้าง Admin Account ใหม่: สร้าง backdoor account สำหรับเข้าใช้ในอนาคต
🖥️ ซอฟต์แวร์และระบบที่ได้รับผลกระทบ
WordPress Plugin: Import and export users and customers
ตรวจสอบเวอร์ชันที่ได้รับผลกระทบที่ https://nvd.nist.gov/vuln/detail/CVE-2026-120554
🔧 แนวทางการแก้ไขและป้องกัน
- ขั้นตอนแก้ไข:
- 1. อัพเดตทันที: อัพเดตซอฟต์แวร์เป็นเวอร์ชันที่แก้ไขช่องโหว่แล้ว
- 2. ตรวจสอบ User Accounts: ดู Users > All Users ใน WordPress หาบัญชีที่ไม่รู้จักหรือมีสิทธิ์ผิดปกติ
- 3. ตรวจสอบ Admin Accounts: ยืนยันว่า admin ทุกบัญชีเป็นบัญชีที่คุณรู้จักและสร้างขึ้นเอง
- 4. Review Activity Logs: ตรวจสอบประวัติการ login และการเปลี่ยนแปลงสิทธิ์ย้อนหลัง
- 5. เปลี่ยนรหัสผ่าน Admin: เปลี่ยนรหัสผ่านทุก admin account เป็นรหัสผ่านที่แข็งแกร่ง
- 6. Principle of Least Privilege: จำกัดการสร้างบัญชีในระบบให้เฉพาะผู้ที่จำเป็น
📄 รายละเอียดต้นฉบับ (ภาษาอังกฤษ)
The Import and export users and customers plugin for WordPress is vulnerable to Privilege Escalation in all versions up to, and including, 2.5.11 This is due to a non-atomic multi-option write sequence in the `ACUI_Cron::save_settings()` function, which persists `acui_cron_activated`, `acui_cron_configured_by`, `acui_cron_user_id`, and `acui_cron_path_to_file` before reaching the authorization gate that calls `wp_die()` when a non-promoter submits a role. This makes it possible for authenticated attackers holding a custom delegated role with `create_users` but without `promote_users` or `edit_users` to escalate their privileges to Administrator, provided a prior administrator cron-tab save exists and no successful save intervenes before the next unattended cron tick processes the attacker's repointed CSV file.