Firewall, VPN, NAS ขององค์กรโดน PHP2Shell ไหม: วิธีเช็คอุปกรณ์และผลิตภัณฑ์ที่มี PHP อยู่ข้างใน
วิธีเช็คว่า firewall, VPN, NAS และ cloud ที่มี PHP ข้างในโดน PHP2Shell ไหม ไล่จาก advisory ของ vendor อ่านสถานะให้ถูก ลงแพตช์ของ vendor และยืนยันเลขเวอร์ชัน
Firewall, VPN, NAS ขององค์กรโดน PHP2Shell ไหม: วิธีเช็คอุปกรณ์และผลิตภัณฑ์ที่มี PHP อยู่ข้างใน
ถ้าแพตช์ PHP บนเว็บเซิร์ฟเวอร์ไปแล้ว (ทวนรายละเอียดช่องโหว่ได้ที่นี่) ยังเหลือ PHP ที่ไม่มีใครในทีมติดตั้งเอง คือตัวที่มากับ firewall, VPN gateway, load balancer, NAS, คอนโซลของระบบ security และบริการ cloud บางตัว CISA เขียนไว้ว่า PHP มักเป็นส่วนประกอบของซอฟต์แวร์อื่น และอาจมองไม่เห็นโดยตรงว่าซ่อนอยู่ที่ไหน
คำตอบสั้น: กับอุปกรณ์สำเร็จรูป ไม่ต้องไล่หาว่าข้างในใช้ PHP เวอร์ชันอะไร ให้ทำรายชื่อ vendor และรุ่นที่ใช้ เปิด advisory ของ vendor แต่ละราย อ่านสถานะให้ถูกว่าโดน ไม่โดน หรือยังตรวจสอบอยู่ ลงแพตช์ตามวิธีที่ vendor ประกาศ แล้วเช็คว่าเลขเวอร์ชันของผลิตภัณฑ์ตรงกับรุ่นที่แก้แล้ว ระหว่างรอ ให้จำกัดการเข้าถึงหน้าจัดการ (management interface) และทำตามคำแนะนำของ vendor สำหรับทุกส่วนที่โดน
ThaiCERT ออกประกาศแจ้งเตือนเรื่อง PHP2Shell เมื่อ 22 ตุลาคม 2026 ระบุว่ามี Proof of Concept เผยแพร่แล้วและ PHP ออกเวอร์ชันที่แก้แล้ว ประกาศนี้นับผลิตภัณฑ์สำเร็จรูปที่มี PHP เป็นส่วนประกอบไว้ในรายการที่ต้องตรวจด้วย แต่ไม่ได้บอกว่าพบการโจมตีในไทยหรือเปล่า
ขั้นที่ 1: ทำรายชื่อ vendor และผลิตภัณฑ์ที่ใช้อยู่
php.net ระบุว่า PHP ทุกตัวที่เสิร์ฟ web request ได้รับผลกระทบ ให้เริ่มจากของที่มีหน้าเว็บให้ล็อกอินหรือมี portal ให้ผู้ใช้เข้า เช่น firewall และ VPN gateway (รวม captive portal), load balancer, NAS พร้อมแอปและ container ที่ลงเพิ่ม, คอนโซลจัดการของระบบ security ที่ติดตั้งในองค์กร และบริการ cloud ที่เราเอาโค้ด PHP ขึ้นไปรัน
แต่ละรายการให้จด vendor, รุ่น, เวอร์ชันที่ใช้อยู่ (firmware, OS, hotfix หรือแพ็กเกจ), feature ที่เปิดใช้, เปิดสู่อินเทอร์เน็ตหรือเปล่า และใครเป็นคนลงอัปเดต
ต้องจด feature ที่เปิดใช้ด้วย เพราะหลาย vendor ใช้ feature เป็นตัวตัดสินว่าโดนหรือไม่:
| ผลิตภัณฑ์ | vendor บอกว่าโดนเมื่อ |
|---|
| Palo Alto PAN-OS | เฉพาะ management web interface (web UI และ XML API) และ dataplane interface ที่ผูก management profile ไว้ ส่วน GlobalProtect portal, gateway และ Clientless VPN ไม่โดน |
| Check Point | gateway ที่ใช้ Mobile Access Portal, Remote Access VPN แบบ SSL Network Extender หรือ SAML, หรือ Identity Awareness Captive Portal |
| Netgate pfSense | GUI หรือ Captive Portal เปิดให้ผู้โจมตีเข้าถึงได้ ค่าเริ่มต้น GUI เข้าได้จาก LAN เท่านั้น และ Captive Portal ปิดอยู่ |
| F5 BIG-IP | APM data plane (Access profile) และ Configuration utility |
ถ้ากำลังพิจารณาระบบ inventory ที่เชื่อมกับ source ต่างๆ ไว้ทำงานนี้ ดูแพลนบนหน้าราคา แล้วให้พาร์ทเนอร์ยืนยันขอบเขตการติดตั้งก่อนตัดสินใจ
ขั้นที่ 2: เปิด advisory ของ vendor เอง อย่าอ่านจากบทสรุป
บทสรุปรวมหลาย vendor ตกรุ่นเร็วมาก รายชื่อของ SOCRadar ที่อัปเดต 23 ตุลาคม ยังจัด Cisco Catalyst Center และ WAN Automation Engine ไว้ในกลุ่มกำลังตรวจสอบ ทั้งที่ advisory ของ Cisco ฉบับ 22:39 GMT วันเดียวกันระบุว่าทั้งสองตัวไม่โดน บทสรุปเดียวกันยังจัด FortiADC Manager กับ FortiDDoS-F ไว้ผิดกลุ่มแบบเดียวกัน ท้าย advisory ของ Cisco เองก็เตือนว่าสำเนาหรือบทสรุปอาจขาดข้อมูลหรือผิด
รายชื่อของ NCSC เนเธอร์แลนด์ (NCSC-NL) บน GitHub ใช้เป็นสารบัญหาหน้าของ vendor ได้ แต่ใช้เป็นหลักฐานไม่ได้ วันที่ 25 ตุลาคม รายการนี้มีราว 750 แถวตามที่เรานับ ส่วนใหญ่ยังเป็นสถานะ Investigation
ตารางนี้คือสถานะตามที่เราเช็คจากหน้าของ vendor เองเมื่อ 25 ตุลาคม 2026 ช่อง "ข้อมูล ณ" คือวันที่ vendor อัปเดตหน้านั้นล่าสุด
| Vendor / ผลิตภัณฑ์ | สถานะ | รุ่นที่แก้แล้ว หรือสิ่งที่ vendor ให้ทำ | ข้อมูล ณ |
|---|
| Palo Alto Networks PAN-OS, Panorama | โดน (หน้าจัดการ) | hotfix ตาม branch ETA 27–30 ต.ค. บางรุ่นถูกถอด ETA ออกเมื่อ 25 ต.ค. ให้เช็คในหน้าว่าออกแล้วหรือยัง | 25 ต.ค. |
| Siemens RUGGEDCOM APE1808 (PAN-OS) | โดน | ติดต่อ Siemens support และใช้ workaround ของ Palo Alto | 23 ต.ค. |
| Cisco | โดน: Expressway, URWB, Duo Access Gateway / กำลังตรวจสอบ: หลายตัว เช่น ISE Portal Builder / ไม่โดน: เช่น ASA, Secure Firewall Threat Defense, ISE, Meraki MX | Expressway 15.5.21 (ยังไม่กำหนดวัน), URWB 27.1.1 (ก.พ. 2027), Duo Access Gateway 3.2.0 | 23 ต.ค. |
| Fortinet | ไม่โดน: FortiOS, FortiWeb, FortiADC และอีกหลายตัว / กำลังตรวจสอบ: FortiDDoS, FortiClient Cloud Services, FortiSOAR, FortiSOAR PaaS | ยังไม่มีตัวที่ประกาศว่าโดน | 23 ต.ค. |
| Sophos | ไม่มีผลิตภัณฑ์ที่โดน (portal MyUTM ที่ Sophos ดูแลเองถูกปิดไปแล้ว) | ไม่ต้องทำอะไรกับตัวผลิตภัณฑ์ | 22 ต.ค. |
| Check Point | โดน เฉพาะ feature ในขั้นที่ 1 | hotfix R82.10, R82, R81.20 (ต้อง reboot) ส่วน R82.20 ยัง Coming soon | 23 ต.ค. |
| F5 BIG-IP | โดน: APM, Configuration utility / ไม่โดน: BIG-IQ, F5OS, NGINX | 21.1.0.4, 17.5.1.11, 17.1.3.7 | 24 ต.ค. |
| Citrix NetScaler ADC, Gateway | โดน | ยังไม่ระบุรุ่นที่แก้ ชี้ไปที่ community blog เรื่อง mitigation | 22 ต.ค. |
| Netgate pfSense | โดน เมื่อเปิด GUI หรือ Captive Portal ให้เข้าถึง | แพ็กเกจ PHP 8.5.12 (Plus 26.07, 26.03.1, CE 2.9.0) และ 8.3.36 (CE 2.8.1) | 21 ต.ค. |
| OPNsense | มี hotfix | Business 26.4.2p4, Community 26.1.11 และ 26.7.7 | 23 ต.ค. |
| Trend Micro | โดน: Apex Central, Apex One (on-premise server), Trend Micro Web Security, Deep Discovery Inspector, Analyzer และ Email Inspector | กำลังทำ mitigation, critical patch ของ Deep Discovery ทั้งสามตัว ETA 30 ต.ค. | หน้าอัปเดต 24 ต.ค. สถานะ ณ 23 ต.ค. |
| QNAP | OS แก้แล้ว แอปบางตัวยัง Fixing | QTS 6.1.0.3656 และ 5.2.11.3661, QuTS hero h6.1.0.3656, h6.0.2.3656 และ h5.2.11.3661, QuTScloud c5.2.9.3661 (ทั้งหมด build 20261023) | 24 ต.ค. |
| Synology | Resolved สำหรับแพ็กเกจที่โดน | แพ็กเกจ PHP รุ่นที่ระบุในหน้า เช่น 8.4.27-0051 ขึ้นไป ส่วน PHP 7.3 ไม่มีแพตช์ | 22 ต.ค. |
| AWS | บริการของ AWS ไม่โดน | PHP ที่ลูกค้ารันเองต้องอัปเดตเอง เช่น Lambda, Lightsail และ EMR ที่ติดตั้ง Ganglia บางรุ่นโดน | 23 ต.ค. |
| Azure App Service | image Linux ในตัวอัปเดตแล้วบนช่อง Latest และ Standard ส่วนช่อง Extended ได้ fix ทีหลังสุด | custom container ต้อง rebuild เอง ส่วน PHP ในตัวของ App Service บน Windows ไม่มีแพตช์ | 21 ต.ค. |
ตารางนี้จะเปลี่ยนอีกแน่ เพราะหลายรายการยังรอ hotfix หรือยังตรวจสอบอยู่ หน้าของ vendor คือข้อมูลจริงเสมอ เปิดดูอีกรอบตอนจะตัดสินใจ ถ้าผลิตภัณฑ์ของคุณไม่อยู่ในตาราง ให้ไปที่หน้า PSIRT ของ vendor นั้นโดยตรง
ขั้นที่ 3: อ่านสถานะให้ถูก
สามสถานะนี้ต้องแยกให้ออก
- ไม่โดน (Not affected, Not impacted) vendor ตรวจแล้วยืนยันว่าผลิตภัณฑ์นั้นไม่โดน
- โดน (Affected, Impacted, Vulnerable) ต้องหารุ่นที่แก้แล้ว ถ้ายังไม่มีก็ทำตาม workaround ของ vendor
- กำลังตรวจสอบ (Under investigation) vendor เองก็ยังไม่รู้ จะนับเป็นไม่โดนไม่ได้ ดูขั้นที่ 6
จุดที่อ่านพลาดกันบ่อย:
- กติกาของแต่ละ vendor ไม่เหมือนกัน Cisco เขียนว่าผลิตภัณฑ์ที่ไม่มีชื่อใน advisory ถือว่าไม่โดน อย่าเอากติกานี้ไปใช้กับ vendor อื่น ถ้า vendor ไม่ได้เขียนไว้แบบนี้ การไม่มีชื่อแปลว่ายังไม่รู้
- รุ่นที่แก้แล้วต้องดูให้ตรง branch F5 ระบุว่า 17.1.0 ถึง 17.1.3 โดน และรุ่นที่แก้ของ branch นี้คือ 17.1.3.7 build อื่นให้เช็คจากตารางของ F5 ส่วนรายการที่มีแค่ ETA หรือ TBD อย่าง Expressway 15.5.21 (TBD) ของ Cisco หรือแพตช์ Deep Discovery ของ Trend Micro (ETA 30 ต.ค.) แปลว่า ณ วันที่เราเช็ค (25 ต.ค.) ยังไม่มีอะไรให้ลง
- Resolved ไม่ได้แปลว่าทุกชิ้นแก้ครบ Synology ปิด advisory เป็น Resolved เพราะแพ็กเกจที่โดนมีรุ่นแก้แล้ว ส่วน PHP ที่ DSM ใช้ภายใน Synology ประเมินว่าไม่มีช่องให้โจมตีจากภายนอก และนัดแพตช์ไว้ใน DSM รุ่นถัดไปเพื่อให้ผลสแกนช่องโหว่ตรงกัน ระหว่างนี้ scanner จึงอาจยังฟ้องอยู่
- อัปเดตของ vendor อาจไม่ครอบคลุม container และแอป third party ที่ลงเพิ่ม QNAP เขียนชัดว่า PHP ใน container บน Container Station หรือในแอปของ third party ไม่อยู่ในการอัปเดตของ QNAP ของที่ลงเพิ่มเองต้องแพตช์เอง
ขั้นที่ 4: ลงแพตช์ตามวิธีของ vendor อย่าแพตช์ PHP ในอุปกรณ์เอง
PHP ในอุปกรณ์เป็นของที่ vendor build และทดสอบมาพร้อมระบบ แพตช์ของ vendor จะออกมาเป็น firmware, hotfix หรือแพ็กเกจก็ได้ ตัวอย่างจากหน้าของ vendor:
- Check Point hotfix นำ fix ที่ PHP เผยแพร่สำหรับ PHP 7.4 มาใส่ให้ และต้อง reboot
- Netgate pfSense อัปเดตแพ็กเกจ PHP ผ่าน GUI ไม่ได้ ต้องทำที่ command line ผ่าน SSH หรือ console วิธีที่ Netgate แนะนำ (Method 1) คืออัปเดตทุกแพ็กเกจ ติดตั้งแพ็กเกจ WireGuard ใหม่หลังสุดเพื่อให้ใช้ PHP ที่ถูกเวอร์ชัน แล้ว reboot ให้วางเป็นงาน maintenance และทำตามหน้าของ Netgate ถ้าเชื่อมต่อผ่าน WireGuard อยู่ การเชื่อมต่ออาจหลุดระหว่างอัปเดต
- Synology อัปเดต PHP ผ่าน Package Center ส่วน Mail Station ต้องอัปเดตเอง DSM ที่เก่ากว่า 7.2 ให้ปิดแพ็กเกจที่โดนไว้ชั่วคราว
- F5 ถ้ายังขึ้นรุ่นที่แก้ไม่ได้ F5 มีขั้นตอนชั่วคราว คือเพิ่มค่าใน php.ini แล้ว restart service ที่เกี่ยวข้อง ซึ่งบน APM รวม service ของ APM ด้วย ให้ทำตามหน้าของ F5 ครบทุกขั้น F5 เตือนว่าค่านี้จะหายเมื่ออัปเกรด TMOS
คำแนะนำของเราคืออย่าเปลี่ยน PHP ในอุปกรณ์เอง เพราะ advisory ระบุรุ่นที่แก้แล้วเป็น build ของผลิตภัณฑ์ทั้งตัว เช่น BIG-IP 17.1.3.7 PHP ที่เรา build ใส่เองต่อให้เป็นเวอร์ชันที่แก้แล้ว ก็ไม่ได้แสดงว่าอุปกรณ์ตรงกับ build ที่ vendor ระบุว่าแก้แล้ว ถ้าพาร์ทเนอร์หรือ MSP ดูแลอุปกรณ์ ให้ขอเลขเวอร์ชันหลังลงเป็นลายลักษณ์อักษร
ขั้นที่ 5: ยืนยันเลขเวอร์ชันหลังลงแพตช์
- อ่านเลขเวอร์ชันจากคอนโซลหรือ CLI ของอุปกรณ์ ตามคู่มือของ vendor แล้วเทียบกับรุ่นที่แก้แล้วใน advisory เลขที่ใช้เทียบคือ firmware, OS, hotfix หรือแพ็กเกจตามที่ vendor ระบุ เลข PHP ข้างในใช้เทียบได้เฉพาะเมื่อ vendor บอกมาเอง อย่างที่ Netgate และ OPNsense บอกว่ารุ่นไหนได้ PHP อะไร
- restart หรือ reboot ให้ครบตามที่ vendor สั่ง Check Point hotfix ต้อง reboot และ OPNsense ให้ restart captive portal service หลังอัปเดต
- บนอุปกรณ์ อย่าใช้
php -v เป็นหลักฐาน ประกาศของ ThaiCERT แนะนำให้เช็คเวอร์ชันด้วย php -v ซึ่งใช้ได้บนเซิร์ฟเวอร์ที่เราดูแลเอง แต่คำสั่งนี้บอกเวอร์ชันของ PHP ฝั่ง CLI ซึ่งอาจต่างจากตัวที่เสิร์ฟเว็บ (อ่านเหตุผลที่นี่) บนอุปกรณ์ให้ใช้เลขตามข้อ 1
- รู้ว่า scanner แต่ละตัวทำอะไร php2shell-checker ของ OpenAI ในโหมด URL อ่านแค่ header แบบ passive จึงมองไม่เห็นแพตช์ที่ backport ไว้ ส่วน Nuclei template ของ ProjectDiscovery และ php2shell-scanner ของ Assetnote ส่ง multipart request ขนาดใหญ่ ทั้งคู่เป็นแบบ intrusive และ Nuclei template ตัวนี้ทำให้ PHP worker crash ได้ อย่ายิงใส่หน้าจัดการของ firewall หรือ NAS ที่ใช้งานจริง
ขั้นที่ 6: ระหว่างที่ vendor ยังตรวจสอบอยู่ ทำอะไรได้บ้าง
คำแนะนำชั่วคราวของ vendor แบ่งได้สองส่วน ส่วนแรกคือหน้าจัดการ ให้ลดเครือข่ายที่เข้าถึงได้:
- Palo Alto ให้เฉพาะ IP ภายในที่เชื่อถือได้ หรือ jump box เข้าถึง management interface ได้
- QNAP เอา NAS ออกจากอินเทอร์เน็ต ปิด UPnP port forwarding ทั้งบน router และ myQNAPcloud ใช้ VPN และจำกัดพอร์ตจัดการ (ค่าเริ่มต้น 8080 และ 443)
- Trend Micro จำกัดการเข้าถึงเซิร์ฟเวอร์และคอนโซลจัดการที่โดนให้เฉพาะ IP ที่เชื่อถือได้
- Netgate ตรวจ filter rule ว่า GUI ไม่เปิดให้เครือข่ายที่ไม่น่าเชื่อถือ และเข้า GUI ผ่าน VPN
- F5 จำกัดการเข้าถึง Configuration utility
ส่วนที่สองคือ portal หรือบริการที่ผู้ใช้เข้าถึงและโดนด้วย เช่น APM data plane ของ F5, Captive Portal ของ pfSense และ portal กับ VPN ของ Check Point ที่อยู่ในขั้นที่ 1 การจำกัดหน้าจัดการไม่ได้ช่วยส่วนนี้ ให้ทำตามคำแนะนำของ vendor สำหรับส่วนนั้นโดยตรง Netgate บอกให้ผู้ใช้ Captive Portal อัปเดต PHP โดยเร็วที่สุด และถ้า vendor ให้ปิดบริการที่โดนไว้ก่อน ก็ต้องปิด
ผลิตภัณฑ์ที่ยังอยู่ในกลุ่มกำลังตรวจสอบมักยังไม่มีคำแนะนำเฉพาะ ระหว่างรอให้ใช้แนวทางเดียวกันนี้ ถ้าหน้าจัดการเปิดสู่อินเทอร์เน็ตอยู่ ให้ปิดหรือจำกัดเหลือเครือข่ายที่เชื่อถือได้ แล้วกลับไปเปิดหน้า advisory ซ้ำจนกว่าสถานะจะเปลี่ยน แอปบน NAS ที่ไม่ได้ใช้ก็ปิดไว้ก่อนได้ ซึ่งตรงกับที่ CISA แนะนำให้เอาระบบ PHP ที่ยังอัปเดตไม่ได้ออฟไลน์จนกว่าจะแพตช์
ส่วน PHP ที่เรารันเองบน cloud เช่น Lambda, Lightsail หรือ custom container บน Azure ดูต่อที่วิธีอัปเดต PHP บนเซิร์ฟเวอร์ และบทความสำหรับ cPanel, Plesk และ DirectAdmin
บทความนี้ไม่ได้ครอบคลุมอะไร
ถ้าอยากให้ขั้นที่ 1 ทำซ้ำได้ในรอบหน้า zcrCTEM มี CAASM ที่รวม host, device และ cloud resource จาก source ที่เชื่อมไว้เป็น inventory ชุดเดียว และ EASM ที่ค้นหา asset จาก seed domain ขององค์กรแล้วขึ้น finding ของ open port ที่เจอ แต่ไม่ได้แทนการลงแพตช์ของ vendor
อ่านต่อ
PHP2Shell คืออะไร · เช็คเวอร์ชัน PHP ทุกเว็บ · WAF ช่วยได้แค่ไหน · หาร่องรอยจาก log · ยังใช้ PHP 7.4, 8.0, 8.1 อยู่
ติดต่อทีมงาน
อยากคุยว่ารายชื่ออุปกรณ์และผลิตภัณฑ์ขององค์กรควรเริ่มจากตรงไหน และตัวไหนควรเช็คก่อน คุยกับทีมเราได้ฟรี ไม่มีค่าใช้จ่าย zcr ให้ซอฟต์แวร์ ส่วนงานลงแพตช์ ตรวจระบบ และรับมือเหตุแบบลงมือจริงดำเนินการผ่านพาร์ทเนอร์
แหล่งข้อมูลอ้างอิง
ทุกหน้าเปิดอ่านเมื่อ 25 ตุลาคม 2026
- CISA — Critical Vulnerabilities in PHP Require Immediate Patching — PHP มักเป็นส่วนประกอบของซอฟต์แวร์อื่น, เอาระบบ PHP ที่ยังอัปเดตไม่ได้ออฟไลน์
- ThaiCERT — แจ้งเตือน พบช่องโหว่ PHP2Shell (22 ต.ค. 2026) — PoC เผยแพร่แล้ว, PHP ออกรุ่นที่แก้แล้ว, ผลิตภัณฑ์สำเร็จรูปที่มี PHP เป็นส่วนประกอบอยู่ในรายการที่ต้องตรวจ, คำแนะนำ
php -v
- PHP.net — 2026 news archive — PHP ทุกตัวที่เสิร์ฟ web request ได้รับผลกระทบ, คะแนน 9.2
- Palo Alto Networks — CVE-2026-109618 และ Siemens SSA-566512
- Cisco — Vulnerabilities in PHP Affecting Cisco Products: October 2026
- Fortinet FG-IR-26-186 และ Sophos — PHP2Shell advisory
- Check Point sk1000302 และ F5 K000163821
- Citrix CTX697263
- Netgate — Critical PHP Security Update และ OPNsense — PHP2Shell hotfix
- Trend Micro KA-0024802
- QNAP QSA-26-18, Synology-SA-26:14 และ Synology Statement on PHP2Shell
- AWS Security Bulletin 2026-143-AWS และ Azure App Service — PHP critical security release
- NCSC-NL — php2shell — สารบัญผลิตภัณฑ์และ vendor
- SOCRadar — PHP2Shell — ตัวอย่างรายชื่อที่ตกรุ่น (อัปเดต 23 ต.ค.)
- OpenAI php2shell-checker, ProjectDiscovery nuclei-templates CVE-2026-109618 และ Assetnote php2shell-scanner — ตัวไหน passive ตัวไหน intrusive