สรุปสั้น
บริษัท Patchstack ผู้ให้บริการด้านความปลอดภัย WordPress รายงานว่าช่องโหว่ CVE-2026-85097 ระดับความรุนแรงสูงสุด (CVSS 10.0) ในปลั๊กอิน Bricksforge กำลังถูกโจมตีจริง โดยตรวจพบความพยายามโจมตีครั้งแรกเมื่อวันที่ 7 ตุลาคม 2569 เวลา 21:47 น. UTC ช่องโหว่นี้เปิดให้ผู้โจมตีที่ไม่ต้องยืนยันตัวตนอัปโหลดไฟล์ภาพที่แฝงโค้ด PHP แล้วหลอกให้ปลั๊กอินนำเนื้อหาไฟล์ไปวางเป็นไฟล์ .php ซึ่งเมื่อเรียกผ่านเว็บก็จะรันโค้ดบนเซิร์ฟเวอร์ (RCE) ทันที นำไปสู่การยึดเว็บไซต์ ฝัง web shell อ่านข้อมูลสำคัญ และคงสิทธิ์เข้าถึงระยะยาว ช่องโหว่กระทบ Bricksforge เวอร์ชัน 3.1.8.9 ลงไป แก้ไขแล้วในเวอร์ชัน 3.1.8.10 และแนะนำให้อัปเดตเป็นเวอร์ชันล่าสุด 4.0.1
Patchstack พบการโจมตีจาก 63 IP ไม่ซ้ำกัน และมีลักษณะเป็นการสแกนโจมตีอัตโนมัติผ่าน proxy หมุนเวียนหรือโครงสร้างพื้นฐานกระจายตัว แต่ยังไม่สามารถระบุว่าเป็นผลงานของผู้โจมตีกลุ่มเดียว ในช่วงเวลาเดียวกัน Patchstack ยังพบแคมเปญที่ใช้ช่องโหว่ XSS ในปลั๊กอิน Ninja Forms และ WPC Product Bundles for WooCommerce เพื่อฝังปลั๊กอินแบ็กดอร์ สร้างบัญชีแอดมินที่ซ่อนจากหน้า Users และติดตั้งลิงก์ล็อกอินลับ ซึ่งการอัปเดตปลั๊กอินเพียงอย่างเดียวไม่ได้ลบการติดเชื้อที่เกิดไปแล้ว
รายละเอียดข่าว
เว็บไซต์ The Hacker News รายงานเมื่อวันที่ 12 ตุลาคม 2569 ว่าช่องโหว่ระดับวิกฤตในปลั๊กอิน Bricksforge สำหรับ WordPress ถูกนำไปโจมตีจริงแล้ว ตามข้อมูลจาก Patchstack Bricksforge เป็นปลั๊กอินเสริมที่โฆษณาตัวเองว่าเป็น “มีดพับสวิส” สำหรับ Bricks ซึ่งเป็นเครื่องมือสร้างเว็บไซต์แบบลากวางบน WordPress โดยเพิ่มความสามารถด้านแอนิเมชัน ฟอร์มขั้นสูง และวิดีโอที่เล่นตามการเลื่อนหน้าจอ
Patchstack อธิบายต้นเหตุว่า Bricksforge ตรวจสอบชนิดไฟล์ (MIME type) ตอนอัปโหลดครั้งแรกอย่างถูกต้อง แต่เมื่อมีการส่งฟอร์มในภายหลัง ปลั๊กอินกลับเชื่อข้อมูลเมทาดาตาของไฟล์ที่ฝั่งไคลเอนต์ส่งมา โดยเฉพาะไม่ตรวจสอบฟิลด์ url ภายในพารามิเตอร์ temporaryFileUploads ทีม Wordfence ยืนยันกลไกเดียวกันในประกาศช่องโหว่ของตน
ในการโจมตีที่ Patchstack สังเกตได้ ผู้โจมตียิงคำขอไปยัง REST API endpoint ส่งฟอร์มของ Bricksforge ที่ /wp-json/bricksforge/v1/form_submit หรือ /wp-admin/admin-ajax.php ด้วย action bricksforge_form_submit พร้อมพารามิเตอร์ temporaryFileUploads ที่ปลอมแต่งขึ้น โดยให้ฟิลด์ file ชี้ไปยังไฟล์ GIF หรือ PNG ที่ผ่านการตรวจแล้ว แต่ฟิลด์ url ลงท้ายด้วยนามสกุล PHP
Patchstack ระบุว่าเห็นกลุ่มการโจมตีเด่น 2 กลุ่มในข้อมูลเทเลเมทรี กลุ่มแรกเป็น 44 IP ที่ส่งคำขอ 56 ครั้งด้วย payload เหมือนกันทุกประการภายในไม่กี่วินาที อีกกลุ่มเป็น 3 IP ที่ลองนามสกุลและการเข้ารหัส PHP 25 แบบกับไฟล์ชั่วคราวไฟล์เดียวกัน ทั้งสองรูปแบบชี้ไปที่การโจมตีอัตโนมัติผ่าน proxy หมุนเวียน ในภาพรวมพบการโจมตีจาก 63 IP โดย 6 IP คิดเป็นราว 46% ของคำขอทั้งหมด
พร้อมกันนี้ Patchstack ยังเปิดเผยแคมเปญแยกต่างหากที่ใช้ช่องโหว่ XSS ใน WPC Product Bundles for WooCommerce (CVE-2026-93836, CVSS 7.1) และ Ninja Forms (CVE-2026-94504, CVSS 7.1) เพื่อส่ง JavaScript ชื่อ x.js ที่ทำงานในเบราว์เซอร์ของแอดมินที่ล็อกอินอยู่ แล้วใช้ session นั้นติดตั้งปลั๊กอินแบ็กดอร์ สร้างบัญชีแอดมินใหม่ และส่งผลกลับไปยังเซิร์ฟเวอร์ของผู้โจมตี
รายละเอียดช่องโหว่
| รายการ | รายละเอียด |
|---|---|
| CVE | CVE-2026-85097 |
| CVSS | 10.0 (วิกฤต) |
| ประเภท | Unauthenticated Arbitrary File Upload → RCE |
| เวอร์ชันที่กระทบ | Bricksforge ≤ 3.1.8.9 |
| เวอร์ชันที่แก้ไข | 3.1.8.10 (ล่าสุด 4.0.1) |
| สถานะ | ถูกโจมตีจริงตั้งแต่ 7 ต.ค. 2569 |
การโจมตีมี 4 ขั้นตอน ขั้นแรก ผู้โจมตีขอค่า nonce ที่ใช้ได้จาก AJAX endpoint bricksforge_regenerate_nonce ซึ่งเรียกได้โดยไม่ต้องล็อกอิน ขั้นที่สอง อัปโหลดไฟล์ polyglot ที่เป็นทั้งภาพ GIF ที่ถูกต้องและมีโค้ด PHP ฝังอยู่ ไฟล์นี้ผ่านการตรวจ MIME type และไปอยู่ในไดเรกทอรีอัปโหลดชั่วคราว /wp-content/uploads/bricksforge/tmp/
ขั้นที่สาม ส่งฟอร์มโดยให้ฟิลด์ file ชี้ไปยังภาพที่ผ่านการตรวจแล้ว แต่ให้ฟิลด์ url ลงท้ายด้วยนามสกุล PHP ขั้นสุดท้าย Bricksforge เชื่อเมทาดาตาที่ส่งมาและคัดลอกเนื้อหาไฟล์ไปวางยังตำแหน่ง .php เมื่อผู้โจมตีเรียกไฟล์นั้นผ่านเว็บ โค้ด PHP ที่ฝังไว้ก็ทำงานบนเซิร์ฟเวอร์ทันที
ตัวอย่างคำขอที่ Patchstack บันทึกได้มีรูปแบบดังนี้
{
"temporaryFileUploads": [
{
"field": "form-field-file",
"file": {
"file": "/var/www/example.com/wp-content/uploads/bricksforge/tmp/img_example.gif",
"url": "https://example.com/wp-content/uploads/bricksforge/tmp/img_example.php",
"type": "image/gif"
}
}
]
}
เพื่อหลบตัวกรองนามสกุลไฟล์ ผู้โจมตียังใช้นามสกุล PHP ทางเลือก เช่น .php5 .php7 และ .phtml สลับตัวพิมพ์ใหญ่เล็ก เช่น .PHP .Php .pHp และเข้ารหัสนามสกุล เช่น .%70hp %2ephp และ .%2570%2568%2570 ซึ่งหมายความว่ากฎ WAF ที่ตรวจเฉพาะสตริง .php ตรงตัวจะจับการโจมตีนี้ไม่ได้ทั้งหมด
ส่วนแคมเปญ XSS ในปลั๊กอินอีก 2 ตัว ปลั๊กอินแบ็กดอร์ที่ถูกติดตั้งมีตัวจัดการไฟล์ที่เรียกได้โดยไม่ต้องยืนยันตัวตนผ่านการเรียกไฟล์ PHP หลักของปลั๊กอินโดยตรง สร้างบัญชีแอดมิน WordPress ที่ซ่อนจากหน้า Users และติดตั้ง magic login URL ที่ทำให้ผู้ถือลิงก์ล็อกอินเป็นแอดมินคนแรกสุดของเว็บไซต์ได้ Patchstack ระบุว่ามีกลไกคงสิทธิ์ที่ซ่อนอยู่เพิ่มเติม จึงตั้งชื่อรายงานว่ามี “สี่ทางกลับเข้ามา”
ผลกระทบ
เว็บไซต์ WordPress ที่ใช้ Bricks ร่วมกับ Bricksforge และยังไม่อัปเดตเสี่ยงถูกยึดทั้งเว็บ เพราะผู้โจมตีรันโค้ดในสิทธิ์ของเว็บเซิร์ฟเวอร์ได้โดยไม่ต้องมีบัญชีใด ๆ จึงฝัง web shell แก้ไขหน้าเว็บ ขโมยข้อมูลจากฐานข้อมูล เช่น ข้อมูลลูกค้าที่ส่งผ่านฟอร์ม หรือใช้เว็บเป็นฐานแพร่มัลแวร์และฟิชชิงต่อได้ เมื่อการโจมตีเป็นแบบอัตโนมัติและกระจายจากหลายสิบ IP เว็บไซต์ทุกขนาดที่ใช้เวอร์ชันมีช่องโหว่จึงมีโอกาสถูกสแกนเจอ ไม่ใช่เฉพาะเป้าหมายใหญ่
ภาพรวมจากรายงานไตรมาส 2 ปี 2569 ของ Wordfence ยืนยันว่าปลั๊กอินยังเป็นช่องทางหลักในการเจาะ WordPress ไตรมาสนั้นมีช่องโหว่เกี่ยวกับ WordPress ถูกเผยแพร่ 2,073 รายการ ช่องโหว่ที่มีความเสี่ยงสูงเพิ่มขึ้น 15.2% จากไตรมาสก่อนเป็น 182 รายการ และมีเว็บไซต์ WordPress ถูกเจาะราว 573,000 เว็บ ช่องโหว่ที่ถูกโจมตีมากที่สุด 5 อันดับแรกล้วนเป็นช่องโหว่เก่าที่มีแพตช์นานแล้ว ได้แก่ CVE-2024-28000 (LiteSpeed Cache), CVE-2019-9879 (WPGraphQL), CVE-2016-15042 (Frontend File Manager), CVE-2023-28121 (WooCommerce Payments) และ CVE-2025-3102 (SureTriggers) แสดงว่าเว็บไซต์ที่ไม่อัปเดตปลั๊กอินยังถูกโจมตีต่อเนื่องหลายปีหลังมีแพตช์
คำแนะนำ
- อัปเดต Bricksforge เป็นเวอร์ชัน 4.0.1 (อย่างน้อย 3.1.8.10) ทันที หากอัปเดตไม่ได้ให้ปิดใช้งานปลั๊กอินชั่วคราว
- ตรวจล็อกเว็บเซิร์ฟเวอร์หาคำขอไปยัง
/wp-json/bricksforge/v1/form_submitหรือ/wp-admin/admin-ajax.php?action=bricksforge_form_submitที่มีพารามิเตอร์temporaryFileUploadsและการส่งฟอร์มซ้ำ ๆ ผิดปกติ - ค้นหาไฟล์ PHP ทุกนามสกุล (
.php,.php5,.php7,.phtmlและตัวพิมพ์ผสม) ใน/wp-content/uploads/bricksforge/tmp/และในไดเรกทอรี uploads ทั้งหมด หากพบให้ถือว่าเว็บถูกเจาะแล้วและเข้าสู่กระบวนการรับมือเหตุ - ตั้งค่าเว็บเซิร์ฟเวอร์ไม่ให้รันไฟล์ PHP ในไดเรกทอรี
wp-content/uploadsซึ่งเป็นการป้องกันเชิงโครงสร้างที่ตัดช่องทางโจมตีแบบอัปโหลดไฟล์ได้เกือบทั้งหมด - อัปเดต WPC Product Bundles for WooCommerce เป็น 8.6.7 และ Ninja Forms เป็น 3.15.4 แล้วตรวจหาบัญชีแอดมินที่ซ่อนอยู่ด้วยการคิวรีตาราง users และ usermeta ในฐานข้อมูลโดยตรง ไม่ใช่ดูจากหน้า Users ใน wp-admin
- ตรวจไดเรกทอรี must-use plugins (
wp-content/mu-plugins) และรายการปลั๊กอินที่ไม่รู้จัก เปลี่ยนรหัสผ่านแอดมินทั้งหมด และหมุนเวียนค่า salt/key ในwp-config.phpเพื่อตัด session และลิงก์ล็อกอินลับที่ค้างอยู่ - บล็อก IP ที่ระบุในตาราง IoCs ด้านล่างเป็นมาตรการเสริม เพราะผู้โจมตีใช้ proxy หมุนเวียน การบล็อก IP อย่างเดียวจึงไม่พอ
Indicators of Compromise (IoCs)
IP ที่มีสัดส่วนคำขอโจมตี Bricksforge สูงสุด 6 อันดับ (รวมราว 46% ของคำขอทั้งหมด) ตามข้อมูลของ Patchstack — defang แล้ว
| ประเภท | Indicator | คำอธิบาย |
|---|---|---|
| IP | 177.75.57[.]20 | แหล่งคำขอโจมตี CVE-2026-85097 |
| IP | 23.97.62[.]146 | แหล่งคำขอโจมตี CVE-2026-85097 |
| IP | 84.247.60[.]125 | แหล่งคำขอโจมตี CVE-2026-85097 |
| IP | 38.154.185[.]97 | แหล่งคำขอโจมตี CVE-2026-85097 |
| IP | 150.109.16[.]166 | แหล่งคำขอโจมตี CVE-2026-85097 |
| IP | 153.75.90[.]146 | แหล่งคำขอโจมตี CVE-2026-85097 |
| URI | /wp-json/bricksforge/v1/form_submit | endpoint เป้าหมาย (คู่กับพารามิเตอร์ temporaryFileUploads) |
| Path | /wp-content/uploads/bricksforge/tmp/ | ตำแหน่งไฟล์ polyglot และไฟล์ PHP ที่ถูกวาง |
| ไฟล์ | x.js | JavaScript payload ในแคมเปญ XSS Ninja Forms / WPC Product Bundles |
แหล่งอ้างอิง
- Attackers Exploit CVSS 10.0 Bricksforge WordPress Flaw Enabling Unauthenticated RCE — The Hacker News
- Critical Unauthenticated Arbitrary File Upload Vulnerability Exploited in Bricksforge Plugin — Patchstack
- Bricksforge ≤ 3.1.8.9 — Unauthenticated Arbitrary File Upload — Wordfence
- Four Ways Back In: The WordPress XSS Campaign That Hides Its Own Admin Account — Patchstack
- Quarterly WordPress Threat Intelligence Report Q2 2026 — Wordfence
