# ช่องโหว่ Ninja Forms และ WPC Product Bundles ถูกใช้ฝังแอดมินลับในเว็บ WordPress

> Patchstack พบการโจมตีจริงผ่านช่องโหว่ XSS ใน Ninja Forms และ WPC Product Bundles ตั้งแต่ 4 ต.ค. 2026 เมื่อแอดมินเปิดดูข้อมูล สคริปต์จะสร้างบัญชีแอดมินที่ซ่อนตัว

- ประเภท: ข่าว · หมวด: Cybersecurity
- เผยแพร่: 2026-10-08T12:03:00.000Z · อัปเดต: 2026-10-08T12:03:00.000Z
- โดย: กองบรรณาธิการ THAI DATA, THAI DATA IT BUSINESS ENTERPRISE
- ที่มา: https://thaidata.co.th/security/ninja-forms-wordpress-xss-exploited-hidden-admin/

## สรุปประเด็นสำคัญ

- Patchstack รายงานเมื่อ **6 ตุลาคม 2026** ว่าพบการโจมตีจริงผ่านช่องโหว่ Stored XSS สองรายการ คือ **CVE-2026-94504** ใน **Ninja Forms** (ใช้งานกว่า **500,000** เว็บ) และ **CVE-2026-93836** ใน WPC Product Bundles for WooCommerce (กว่า **30,000** เว็บ)
- การโจมตีครั้งแรกเกิดเมื่อ **4 ตุลาคม 2026** ผ่าน WPC Product Bundles และวันต่อมาผ่าน Ninja Forms ทั้งสองครั้งดึงสคริปต์ตัวเดียวกันจากโดเมน imgcdn1.com ที่จดทะเบียนเมื่อ 1 ตุลาคม
- เมื่อผู้ดูแลเว็บเปิดดูข้อมูลฟอร์มหรือคำสั่งซื้อที่ถูกฝังสคริปต์ มัลแวร์จะใช้เซสชันของแอดมินติดตั้งปลั๊กอินปลอม WP Smart Thumbnails และเปิด **4 ช่องทาง**กลับเข้าเว็บ รวมถึงบัญชีแอดมินที่มองไม่เห็นในหน้า Users
- เวอร์ชันแรกที่แก้คือ Ninja Forms **3.15.4** (21 กันยายน 2026) และ WPC Product Bundles **8.6.7** ณ 8 ตุลาคม รุ่นล่าสุดบน WordPress.org คือ 3.15.5 และ 8.7.4 ตามลำดับ
- ThaiCERT ออกประกาศเตือนเรื่องนี้เมื่อ **8 ตุลาคม 2026** และย้ำว่าการอัปเดตปลั๊กอินไม่ได้ลบ backdoor ที่ถูกติดตั้งไปแล้ว

Patchstack บริษัทความปลอดภัยด้าน WordPress รายงานเมื่อวันที่ 6 ตุลาคม 2026 ว่าพบการโจมตีจริงผ่านช่องโหว่ Stored XSS ในปลั๊กอิน Ninja Forms และ WPC Product Bundles for WooCommerce ตั้งแต่ 4 ตุลาคม เมื่อผู้ดูแลเว็บเปิดดูข้อมูลที่ถูกฝังสคริปต์ มัลแวร์จะสร้างบัญชีแอดมินที่ซ่อนจากหน้าจอและเปิดทางกลับเข้าเว็บรวม 4 ช่องทาง

ทั้งสองปลั๊กอินมีเวอร์ชันแก้ไขแล้ว โดย Ninja Forms ออกตั้งแต่ 21 กันยายน 2026 แต่การอัปเดตอย่างเดียวไม่ช่วยเว็บที่ถูกเจาะไปแล้ว ThaiCERT ออกประกาศเตือนผู้ดูแลเว็บไซต์ในไทยเรื่องนี้เมื่อ 8 ตุลาคม 2026

## ช่องโหว่ Ninja Forms และ WPC Product Bundles ที่ถูกใช้โจมตี

ทั้งสองช่องโหว่เป็นแบบ Stored Cross-Site Scripting ที่ผู้โจมตีไม่ต้องล็อกอิน NVD บันทึกว่าเปิดเผยเมื่อ 22 กันยายน 2026 โดย Wordfence เป็นผู้ออก CVE และให้คะแนน CVSS 3.1 ที่ 7.2 ส่วน Patchstack ประเมินไว้ที่ 7.1

| ปลั๊กอิน | CVE | เวอร์ชันที่มีช่องโหว่ | เวอร์ชันแรกที่แก้ | จำนวนเว็บที่ใช้งาน |
| --- | --- | --- | --- | --- |
| Ninja Forms | CVE-2026-94504 | 3.15.3 ลงไป | 3.15.4 (21 ก.ย. 2026) | มากกว่า 500,000 |
| WPC Product Bundles for WooCommerce | CVE-2026-93836 | 8.6.6 ลงไป | 8.6.7 | มากกว่า 30,000 |

ใน Ninja Forms ผู้โจมตีส่งสคริปต์มากับข้อมูลในช่องข้อความ (textarea) ผ่าน endpoint ปกติของฟอร์ม สคริปต์จะทำงานเมื่อผู้ดูแลเปิดดูข้อมูลนั้นในหน้าแก้ไขแบบเดิม ส่วน WPC Product Bundles ตรวจค่าจำนวนสินค้าเพียงว่าขึ้นต้นด้วยตัวเลข ค่าอย่าง "1" ตามด้วยแท็กสคริปต์จึงถูกเก็บลงข้อมูลคำสั่งซื้อของ WooCommerce

![ตาราง Campaign Overview ในรายงานของ Patchstack ระบุช่องโหว่ CVE-2026-93836 และ CVE-2026-94504 ใน Ninja Forms สถานะ Active exploitation observed และพบการโจมตีครั้งแรก 4 ตุลาคม 2026](https://thaidata-co-th.s3.ap-southeast-1.amazonaws.com/thaidata.co.th/images/articles/ninja-forms-wordpress-xss-exploited-hidden-admin/patchstack-campaign-overview.webp?v=bfb58cb4) _(ภาพ: Patchstack (ภาพหน้าจอ))_

Patchstack ระบุว่าข้อมูลจากผู้พัฒนามีเพียงบันทึกการเปลี่ยนแปลง (changelog) ของปลั๊กอิน โดย changelog ของ Ninja Forms 3.15.4 ระบุว่าเพิ่มการ escape ข้อมูลในหน้าแก้ไขข้อมูลที่ส่งเข้ามา และของ WPC Product Bundles 8.6.7 ระบุว่าแก้ช่องโหว่ที่นักวิจัยจาก Wordfence รายงาน

## สคริปต์ทำอะไรเมื่อแอดมินเปิดดูข้อมูล

สคริปต์ x.js ไม่ได้ขโมยคุกกี้ แต่ทำงานในหน้าแอดมินของเว็บนั้นเอง จึงส่งคำขอไปยัง /wp-admin/ ได้ด้วยเซสชันของผู้ดูแลที่ล็อกอินอยู่ ดึงค่า nonce ที่ WordPress ใช้ป้องกัน CSRF แล้วสั่งงานแทนแอดมิน การตั้งคุกกี้แบบ HttpOnly จึงป้องกันไม่ได้

ขั้นตอนหลักคือติดตั้งปลั๊กอินปลอมชื่อ "WP Smart Thumbnails" 1.2.4 ของ "MediaPress Labs" ผ่านตัวติดตั้งปลั๊กอินของ WordPress แล้วสร้างบัญชีแอดมินใหม่ Patchstack สรุปว่าการทำงานสำเร็จหนึ่งครั้งทิ้งช่องทางกลับเข้าเว็บไว้ 4 ทาง

- **บัญชีแอดมินที่มองเห็นได้** สร้างผ่านหน้า user-new.php ด้วยรหัสผ่านที่เซิร์ฟเวอร์ของผู้โจมตีส่งมา
- **บัญชีแอดมินที่ซ่อนตัว** ซ่อนจากหน้า Users ด้วย must-use plugin
- **ลิงก์ล็อกอินลับ** ในรูป `/wp-login.php?_wplogin=<token>` ซึ่งล็อกอินในนามแอดมินคนแรกของเว็บ
- **ตัวจัดการไฟล์ที่ไม่ต้องยืนยันตัวตน** ซ่อนอยู่ในไฟล์หลักของปลั๊กอินปลอม

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

## ไทม์ไลน์การโจมตีและโครงสร้างของผู้โจมตี

ทุกขั้นของแคมเปญใช้โดเมน imgcdn1.com ซึ่งจดทะเบียนเมื่อ 1 ตุลาคม 2026 หรือประมาณสิบวันหลังช่องโหว่ทั้งสองถูกเปิดเผย Patchstack พบคำขอแรกเมื่อ 4 ตุลาคม 2026 เวลา 10:39 UTC ผ่าน WPC Product Bundles และพบสคริปต์ตัวเดียวกันผ่าน Ninja Forms ในวันที่ 5 ตุลาคม

![ตาราง What We're Seeing ของ Patchstack แสดงการโจมตีผ่าน CVE-2026-93836 เมื่อ 4 ตุลาคม และผ่าน Ninja Forms CVE-2026-94504 เมื่อ 5 ตุลาคม 2026 พร้อม IP ต้นทางและที่อยู่สคริปต์](https://thaidata-co-th.s3.ap-southeast-1.amazonaws.com/thaidata.co.th/images/articles/ninja-forms-wordpress-xss-exploited-hidden-admin/patchstack-exploitation-timeline.webp?v=154bf57e) _(ภาพ: Patchstack (ภาพหน้าจอ))_

IP ต้นทาง 4 จาก 5 รายการเป็น Tor exit node Patchstack จึงเตือนว่าการบล็อก IP เพียงอย่างเดียวไม่ใช่การป้องกันที่ยั่งยืน ณ วันที่เผยแพร่รายงาน ปริมาณการโจมตีที่เห็นยังมีจำกัด แต่ Patchstack ย้ำว่าตัวเลขทั้งสองไม่ใช่เพดาน เพราะขั้นหลังเจาะสำเร็จไม่ผูกกับปลั๊กอินใด ช่องโหว่ Stored XSS ตัวไหนที่ทำให้สคริปต์ไปทำงานต่อหน้าแอดมินได้ก็ถูกนำมาใช้ได้ทั้งหมด

![สรุปแคมเปญ: เปิดเผยช่องโหว่ 22 กันยายน จดโดเมน 1 ตุลาคม เริ่มโจมตี 4–5 ตุลาคม 2026 และทิ้งทางกลับเข้าเว็บ 4 ช่องทาง](https://thaidata-co-th.s3.ap-southeast-1.amazonaws.com/thaidata.co.th/images/articles/ninja-forms-wordpress-xss-exploited-hidden-admin/ninja-forms-campaign-key-numbers.webp?v=b5196221) _(ภาพ: THAI DATA (ข้อมูล: Patchstack))_

## ทำไมเรื่องนี้สำคัญ

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

Patchstack ชี้ว่ากลุ่มนี้สะสมช่องโหว่ Stored XSS จากหลายปลั๊กอินมาใช้กับมัลแวร์ชุดเดียว ช่วงเวลาระหว่างการเปิดเผยช่องโหว่กับการโจมตีครั้งแรกก็สั้นเพียง 12 วัน เว็บที่อัปเดตปลั๊กอินเป็นรอบรายเดือนจึงมีโอกาสเปิดช่องไว้ทั้งรอบ ทั้งสองช่องโหว่ยังไม่อยู่ในรายการ KEV ของ CISA ฉบับวันที่ 4 ตุลาคม 2026 องค์กรที่จัดลำดับแพตช์จาก KEV อย่างเดียวจึงอาจมองข้ามเรื่องนี้

![หน้าปลั๊กอิน Ninja Forms บน WordPress.org ระบุเวอร์ชัน 3.15.5 และจำนวนการติดตั้งที่ใช้งานมากกว่า 500,000](https://thaidata-co-th.s3.ap-southeast-1.amazonaws.com/thaidata.co.th/images/articles/ninja-forms-wordpress-xss-exploited-hidden-admin/wordpress-org-ninja-forms-plugin.webp?v=ee9ba4c7) _(ภาพ: WordPress.org (ภาพหน้าจอ))_

## สิ่งที่องค์กรไทยควรทำ

1. **อัปเดตปลั๊กอินเป็นรุ่นล่าสุด** เว็บที่ใช้ Ninja Forms ควรขึ้นรุ่น 3.15.5 ซึ่งแก้ XSS อีกจุดในช่อง Paragraph Text ด้วย ร้านค้า WooCommerce ที่ใช้ WPC Product Bundles ควรขึ้นรุ่น 8.7.4
2. **ค้นหา log ย้อนหลัง** หาคำว่า `imgcdn1.com`, `/fz/x.js` และ `/fz/c.php` ใน log ของเว็บเซิร์ฟเวอร์ และหาคำขอที่มีพารามิเตอร์ `_wplogin` ไปยัง wp-login.php
3. **ตรวจแอดมินจากฐานข้อมูลโดยตรง** เทียบรายชื่อผู้ใช้สิทธิ์ administrator ในฐานข้อมูลกับหน้า Users และตรวจโฟลเดอร์ `wp-content/plugins/wp-smart-thumbnails/` กับ `wp-content/mu-plugins/` โดยดูจากเนื้อหาไฟล์ ไม่ใช่วันที่แก้ไข
4. **ถ้าพบร่องรอย ให้ถือว่าเว็บถูกเจาะ** ลบบัญชีและปลั๊กอินแปลกปลอม ลบ option `fz_emer_done_v1` และ `fz_emer_login_tokens` เปลี่ยนรหัสผ่านแอดมินทุกคนรวมถึงแอดมินคนแรกของเว็บ และเปลี่ยน authentication salt ของ WordPress
5. **ลดโอกาสที่สคริปต์จะได้ทำงาน** จำกัดจำนวนบัญชีแอดมิน ให้คนที่แค่ดูข้อมูลฟอร์มหรือคำสั่งซื้อใช้บัญชีที่ไม่มีสิทธิ์ติดตั้งปลั๊กอินหรือสร้างผู้ใช้ และตั้งให้ปลั๊กอินอัปเดตอัตโนมัติสำหรับปลั๊กอินที่รับข้อมูลจากผู้ใช้ภายนอก ดูข่าวช่องโหว่อื่นได้ที่[หมวดความปลอดภัย](/security/)

## คำถามที่พบบ่อย

### ช่องโหว่ Ninja Forms CVE-2026-94504 คืออะไร?

เป็นช่องโหว่ Stored Cross-Site Scripting ใน Ninja Forms เวอร์ชัน 3.15.3 ลงไป ผู้โจมตีที่ไม่ต้องล็อกอินส่งสคริปต์มากับข้อมูลในช่องข้อความของฟอร์ม เมื่อผู้ดูแลเปิดดูข้อมูลที่ส่งเข้ามาในหน้าแก้ไขแบบเดิม สคริปต์จะทำงานในหน้าแอดมินของ WordPress NVD ให้คะแนน CVSS 3.1 ที่ 7.2

### ต้องอัปเดต Ninja Forms และ WPC Product Bundles เป็นเวอร์ชันใด?

Ninja Forms ต้องเป็น 3.15.4 ขึ้นไป และ WPC Product Bundles for WooCommerce ต้องเป็น 8.6.7 ขึ้นไป ควรอัปเดตเป็นรุ่นล่าสุด ซึ่ง ณ 8 ตุลาคม 2026 คือ Ninja Forms 3.15.5 ที่แก้ช่องโหว่ XSS อีกจุดในช่อง Paragraph Text และ WPC Product Bundles 8.7.4

### อัปเดตปลั๊กอินแล้วเว็บปลอดภัยหรือยัง?

ยังไม่พอ หากสคริปต์เคยทำงานในเบราว์เซอร์ของแอดมินแล้ว ผู้โจมตีจะเหลือช่องทางกลับเข้าเว็บที่อยู่นอกปลั๊กอินที่มีช่องโหว่ ทั้งบัญชีแอดมินที่ซ่อนตัว ลิงก์ล็อกอินลับ และตัวจัดการไฟล์ ต้องตรวจบัญชีในฐานข้อมูล โฟลเดอร์ mu-plugins และตาราง options แล้วเปลี่ยนรหัสผ่านและ salt ทั้งหมด

### ตรวจอย่างไรว่าเว็บ WordPress ถูกฝังแอดมินที่ซ่อนอยู่?

Patchstack แนะนำให้ดึงรายชื่อผู้ใช้ที่มีสิทธิ์ administrator จากตาราง wp_users และ wp_usermeta ในฐานข้อมูลโดยตรง แล้วเทียบกับหน้า Users ใน wp-admin บัญชีที่มีในฐานข้อมูลแต่ไม่แสดงในหน้าจอถูกซ่อนด้วย must-use plugin ชื่อบัญชีอย่าง support, updater หรือ maintenance เป็นสัญญาณที่ควรตรวจ


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

- [Four ways back in: the WordPress XSS campaign that hides its own admin account](https://patchstack.com/articles/four-ways-back-in-the-wordpress-xss-campaign-that-hides-its-own-admin-account/) — Patchstack
- [CVE-2026-94504 Detail](https://nvd.nist.gov/vuln/detail/CVE-2026-94504) — NIST NVD
- [CVE-2026-93836 Detail](https://nvd.nist.gov/vuln/detail/CVE-2026-93836) — NIST NVD
- [Ninja Forms – Contact Form Builder with Calculators, Quizzes, Signatures & AI Form Builder](https://wordpress.org/plugins/ninja-forms/) — WordPress.org
- [WPC Product Bundles for WooCommerce](https://wordpress.org/plugins/woo-product-bundle/) — WordPress.org
- [ช่องโหว่ XSS ใน Ninja Forms และ WPC Product Bundles ถูกใช้โจมตีเว็บไซต์ WordPress](https://www.thaicert.or.th/2026/10/08/%e0%b8%8a%e0%b9%88%e0%b8%ad%e0%b8%87%e0%b9%82%e0%b8%ab%e0%b8%a7%e0%b9%88-xss-%e0%b9%83%e0%b8%99-ninja-forms-%e0%b9%81%e0%b8%a5%e0%b8%b0-wpc-product-bundles-%e0%b8%96%e0%b8%b9%e0%b8%81%e0%b9%83/) — ThaiCERT (สกมช.)
