PHP2Shell เจาะช่องโหว่ร้ายแรงของ PHP หลายประเทศออกประกาศเตือน ทางเลือกแทน WordPress สำหรับเว็บไซต์บริษัท: ฟรี ไม่ต้องดูแล เร็วกว่า ปลอดภัยกว่า
วันที่ 21 ตุลาคม 2026 PHP ออกอัปเดตความปลอดภัยฉุกเฉิน แก้ช่องโหว่ร้ายแรงสองรายการ คือ CVE-2026-109618 และ CVE-2026-109619 ผู้โจมตีไม่ต้องล็อกอิน ส่งคำขอเพียงครั้งเดียวก็รันโค้ดใดๆ บนเซิร์ฟเวอร์ได้
Wiz Research ผู้ค้นพบช่องโหว่ นำทั้งสองช่องโหว่มาต่อกันเป็นสคริปต์โจมตีชื่อ PHP2Shell และสาธิตการรันโค้ดจากระยะไกลโดยไม่ต้องล็อกอินบน WordPress, Drupal และ Joomla เวอร์ชันล่าสุด (Wiz)
WordPress ทำงานบน PHP ครั้งนี้ช่องโหว่อยู่ใน PHP เอง ต่อให้อัปเดต WordPress และปลั๊กอินเป็นเวอร์ชันล่าสุดก็กันไม่ได้ เว็บไซต์บริษัทที่ใช้ WordPress ทุกเว็บต้องจัดการ

สรุปช่องโหว่ PHP CVE-2026-109618 และ CVE-2026-109619
จากประกาศความปลอดภัยอย่างเป็นทางการของ PHP:
| หัวข้อ | รายละเอียด |
|---|---|
| หมายเลข | CVE-2026-109618, CVE-2026-109619 |
| ชื่อทางการ | RCE via OOM corruption, RCE via stale global state |
| คะแนน | CVSS 4.0 ได้ 9.2 คะแนน |
| ผลกระทบ | รันโค้ดจากระยะไกล (RCE) โดยไม่ต้องล็อกอิน |
| ขอบเขต | PHP ทุกตัวที่รับคำขอเว็บ: PHP-FPM, Apache mod_php, php-cgi, FrankenPHP, LiteSpeed |
| เสี่ยงที่สุด | Apache mod_php ถูกโจมตีได้ก่อนโค้ดของเว็บไซต์จะเริ่มทำงาน |
| เวอร์ชันที่แก้แล้ว | PHP 8.5.12, 8.4.27, 8.3.36, 8.2.35 |
| ไม่มีแพตช์ทางการ | PHP 8.1 และเวอร์ชันที่เก่ากว่า |
- CVE-2026-109618: เมื่อ PHP หน่วยความจำไม่พอ (OOM) อาจหยุดกลางคันขณะที่ข้อมูลคำขอเพิ่งเตรียมไว้ได้ครึ่งเดียว จากนั้นตอนล้างคำขอกลับนำข้อมูลที่ไม่ถูกต้องนั้นมาใช้เหมือนเป็นข้อมูลที่ถูกต้อง
- CVE-2026-109619: หลังคำขอจบและคืนหน่วยความจำแล้ว สถานะภายในบางส่วนยังค้างอยู่ worker ตัวเดิมอาจหยิบสถานะที่หมดอายุนั้นมาใช้ก่อนเมื่อรับคำขอถัดไป
หลายประเทศออกประกาศเตือน เว็บไซต์ปิดฉุกเฉิน
เวลาต่อไปนี้เป็นของวันที่ 21 ตุลาคม 2026 ทั้งหมด
CERT-EU ของสหภาพยุโรป (NL Times), NCSC ของสหราชอาณาจักร (Patchstack), NCSC ของเนเธอร์แลนด์ (Sansec) และสำนักงานไซเบอร์แห่งชาติญี่ปุ่นกับ IPA (Impress Watch) ทยอยออกประกาศเตือนให้รีบติดตั้งแพตช์ สหภาพยุโรป สหราชอาณาจักร และญี่ปุ่นยังแนะนำว่าเว็บไซต์ที่ติดตั้งแพตช์ไม่ทันให้ปิดไปก่อน
การโจมตีเริ่มขึ้นแล้ว
บันทึกแบบเรียลไทม์ของ Patchstack บริษัทด้านความปลอดภัย WordPress:
- UTC 07:34: ผู้ให้บริการโฮสติ้งหลายรายรายงานว่าเว็บไซต์ถูกโจมตี
- UTC 07:43: CTO ของ Cloudflare ระบุว่าเห็นการโจมตีช่วงแรกแล้ว และเปิดใช้กฎไฟร์วอลล์
- UTC 13:52: PHP ออกเวอร์ชันที่แก้ไขแล้ว
- UTC 13:57: Patchstack ยังเห็นแค่การโจมตีแบบหยั่งเชิง และคาดว่าจะเพิ่มขึ้นหลังรายละเอียดการแก้ไขเปิดเผย

ศูนย์ความมั่นคงปลอดภัยไซเบอร์แห่งชาติเนเธอร์แลนด์ (NCSC) ระบุในตอนนั้นว่ายังไม่ยืนยันการโจมตีจริง เทียบกับครั้งก่อน: หลังช่องโหว่ PHP CVE-2024-4577 เปิดเผยเมื่อเดือนมิถุนายน 2024 Akamai เห็นความพยายามโจมตีภายใน 24 ชั่วโมง (The Hacker News)
เว็บไซต์รัฐบาลเนเธอร์แลนด์และฟินแลนด์ปิดชั่วคราว
- เว็บไซต์สภาผู้แทนราษฎรเนเธอร์แลนด์ (Tweede Kamer) ปิดชั่วคราว เว็บไซต์ของสโมสรฟุตบอล Fortuna Sittard สหภาพตำรวจ ACP สมาคมเภสัชกรแห่งราชอาณาจักรเนเธอร์แลนด์ KNMP บริษัทขนส่งสาธารณะ EBS รวมถึงเครือข่าย IT บางส่วนที่มหาวิทยาลัยและสถาบันวิจัยของเนเธอร์แลนด์ใช้ร่วมกันก็หยุดให้บริการ (NL Times)
- เว็บไซต์ของ NCSC เนเธอร์แลนด์เอง เว็บไซต์เทคโนโลยี Tweakers และเว็บข่าวความปลอดภัย Security.NL ออฟไลน์ (Sansec)
- ระบบยืนยันตัวตนของรัฐบาลเนเธอร์แลนด์ DigiD และพอร์ทัลบริการภาครัฐ MijnOverheid หยุดให้บริการ (Patchstack)
- Valtori ศูนย์ IT ของรัฐบาลฟินแลนด์ ปิดเว็บไซต์สาธารณะของหน่วยงานรัฐหลายแห่ง รวมถึงกรมสำรวจที่ดินแห่งชาติฟินแลนด์และศูนย์แสดงสินค้าและการประชุมเฮลซิงกิ (Pasquale Pillitteri)
ญี่ปุ่น: นายกฯ ทาคาอิจิออกมาเรียกร้องกลางดึก pixiv, DMM และอื่นๆ ปิดปรับปรุงฉุกเฉิน
เวลา 21:55 ตามเวลาญี่ปุ่น นายกรัฐมนตรีซานาเอะ ทาคาอิจิ โพสต์บน X (อ้างอิงจาก Impress Watch):
皆様に、今夜に対応して頂きたい大至急のお願いです。(中略)公開しているウェブサイトでPHPを使用しているか確認し、今夜、10月21日午後11時(日本時間)に公開される修正パッチについて、可及的速やかに適用できるよう準備をお願いします。修正パッチを速やかに適用することが困難な場合は、例えばウェブサイト等を一時的に停止させることも、リスクを低減させるための有効策の一つと考えられます。
ใจความคือ: คืนนี้ขอให้ตรวจสอบว่าเว็บไซต์ใช้ PHP หรือไม่ และติดตั้งแพตช์ให้เร็วที่สุดหลังแพตช์ออกเวลา 23:00 ตามเวลาญี่ปุ่น หากติดตั้งไม่ทัน ก็หยุดเว็บไซต์ไว้ชั่วคราวก่อนได้
สำนักงานไซเบอร์แห่งชาติญี่ปุ่นและ IPA ก็ออกประกาศเตือนเช่นกัน หน่วยงานท้องถิ่นบางแห่งประกาศหยุดระบบชั่วคราวล่วงหน้า บริการที่รายงานฉบับเดียวกันระบุไว้:
- แพลตฟอร์มร้านค้าออนไลน์ BASE และบริการสำหรับสถานรับเลี้ยงเด็ก CoDMON ปิดปรับปรุงตั้งแต่ช่วงบ่าย
- pixiv, DMM.com, niconico และ Sakura Internet ปิดปรับปรุงบางบริการฉุกเฉิน หลัง 20:00 บริการจำนวนมากหยุดให้บริการ
- เกมอย่าง Granblue Fantasy และ Umamusume: Pretty Derby หยุดให้บริการ
โหมดปิดปรับปรุงของ WordPress กันไม่อยู่
Sansec ชี้ว่า โหมดปิดปรับปรุง (maintenance mode) ที่มีมาใน WordPress และ Magento ใช้ไม่ได้ผล เพราะ PHP ประมวลผลคำขอไปแล้วก่อนที่โปรแกรมจะตรวจสวิตช์ปิดปรับปรุง วิธีที่ได้ผลคือหยุด PHP-FPM แล้วให้เว็บเซิร์ฟเวอร์ส่งหน้าปิดปรับปรุงแบบ static กลับไปโดยตรง
ดังนั้นคืนนั้นเว็บไซต์ WordPress มีแค่สองทาง: มีคนล็อกอินเข้าเซิร์ฟเวอร์ไปอัปเกรด PHP หรือปิดทั้งเว็บ เว็บไซต์ที่ไม่มีคนดูแลก็ได้แต่เปิดทิ้งไว้แล้วรอ
ทำไมเว็บไซต์บริษัทที่ใช้ WordPress เสี่ยงที่สุด
ช่องโหว่ระดับ PHP ปลั๊กอิน WordPress ช่วยอะไรไม่ได้ บน mod_php การโจมตีเกิดขึ้นก่อนโค้ดของเว็บไซต์จะทำงาน ปลั๊กอินความปลอดภัย แคปช่า หรือการซ่อนหน้าแอดมินจึงไร้ประโยชน์ Sansec ก็บอกว่าทำได้อย่างเดียวคืออัปเกรด PHP บนเซิร์ฟเวอร์ ใครไม่ได้ดูแลเซิร์ฟเวอร์เองก็ทำได้แค่เร่งผู้ให้บริการโฮสติ้ง
เซิร์ฟเวอร์จำนวนมากยังใช้ PHP ที่หมดระยะซัพพอร์ตแล้ว บริษัทความปลอดภัย Mallory สำรวจผ่าน Shodan เมื่อวันที่ 20 ตุลาคม พบโฮสต์สาธารณะราว 884,000 เครื่องที่ response header แสดงว่าเป็น PHP 8.1 หรือเก่ากว่า คิดเป็น 59% ของโฮสต์ที่แสดงหมายเลขเวอร์ชัน (ราว 1.5 ล้านเครื่อง) ตัวเลขนี้นับจาก header ไม่ได้แปลว่าได้รับผลกระทบทั้งหมด (The Hacker News) เวอร์ชันเหล่านี้ไม่มีแพตช์ทางการ ทำได้แค่ขอแพตช์ที่พอร์ตมาจากผู้ให้บริการโฮสติ้ง หรืออัปเกรด PHP ซึ่งธีมและปลั๊กอินเก่ามักพังทันทีที่อัปเกรด
เสียเงินทุกปี ค่าต่ออายุโฮสติ้ง ค่าดูแล ค่าปลั๊กอินเสียเงินรายปี ถ้าเกิดเรื่องยังมีค่าเก็บกวาดอีก เว็บไซต์ที่มีแค่ข้อมูลบริษัท บริการ ผลงาน ข่าว และรับสมัครงาน ต้องรัน PHP + MySQL ไว้ตลอด และต้องมีคนเฝ้าเซิร์ฟเวอร์ในคืนแบบวันที่ 21 ตุลาคม
วิธีของผม: Astro + Cloudflare / GitHub / Vercel / Netlify
ผมเลิกแนะนำ WordPress และ PHP ให้ลูกค้ามาตั้งแต่สองปีก่อน และย้ายเว็บไซต์ของลูกค้าทั้งหมดไปใช้ Astro ร่วมกับ Cloudflare, GitHub, Vercel และ Netlify แล้ว แพ็กเกจฟรีของแพลตฟอร์มเหล่านี้เพียงพอสำหรับเว็บไซต์บริษัทแน่นอน ค่าโฮสต์ไม่เสียสักบาท และเร็วกว่า ปลอดภัยกว่า หมดห่วงกว่าเว็บ WordPress เดิม
ช่องโหว่ PHP ครั้งนี้ เว็บไซต์ของลูกค้าเหล่านี้ไม่ต้องทำอะไรเลย คืนนั้นยังเข้าใช้งานได้ตามปกติ บล็อกของผม zhaojian.net ก็สร้างแบบนี้ และมีให้อ่าน 12 ภาษา
วิธีทำง่ายๆ:
- Astro สร้างทุกหน้าตอน build สิ่งที่ขึ้นออนไลน์มีแค่ HTML, CSS, JS และรูปภาพ
- ซอร์สโค้ดเก็บไว้บน GitHub แก้ข้อความหรือเพิ่มข่าวแล้ว commit
- Cloudflare Pages / Vercel / Netlify build และเผยแพร่อัตโนมัติเมื่อได้รับ commit ขึ้นออนไลน์ในไม่กี่นาที และส่งหน้าเว็บจาก CDN ทั่วโลก
ปลอดภัยกว่า: บนเซิร์ฟเวอร์ไม่มี PHP ไม่มีฐานข้อมูล และไม่มีหน้าล็อกอินแอดมิน เครื่องมือโจมตีอย่าง PHP2Shell จึงไม่มีช่องให้เข้า ต่อไปถ้า PHP, WordPress หรือปลั๊กอินมีช่องโหว่อีกก็ไม่เกี่ยวกับเว็บไซต์
เร็วกว่า: หน้าเว็บเป็นไฟล์สำเร็จรูป ส่งตรงจากโหนด CDN ที่ใกล้ผู้เข้าชมที่สุด เข้าจากญี่ปุ่น จีน ยุโรป หรืออเมริกาก็เร็ว
ไม่เสียเงิน ไม่ต้องดูแล: ไม่ต้องต่ออายุโฮสติ้งและเซิร์ฟเวอร์ เหลือแค่ค่าโดเมน ไม่มีเซิร์ฟเวอร์ให้ล็อกอิน ไม่มีโปรแกรมให้อัปเกรด
เปรียบเทียบ WordPress กับเว็บไซต์ static ด้วย Astro
| เว็บไซต์ WordPress | เว็บไซต์ static ด้วย Astro | |
|---|---|---|
| โปรแกรมที่รัน | PHP + MySQL + ธีม + ปลั๊กอิน | ไม่มี มีแค่ไฟล์ static |
| ช่องโหว่ PHP ครั้งนี้ | ได้รับผลกระทบ ต้องอัปเกรดข้ามคืนหรือปิดเว็บ | ไม่ได้รับผลกระทบ |
| ค่าโฮสต์ | ต่ออายุโฮสติ้ง / เซิร์ฟเวอร์ทุกปี | ฟรี |
| การดูแลประจำ | อัปเกรด WordPress ปลั๊กอิน และ PHP เป็นระยะ | ไม่ต้อง |
| ความเร็ว | ขึ้นกับประสิทธิภาพเซิร์ฟเวอร์และการตั้งค่าแคช | ส่งตรงจาก CDN |
| อัปเดตเนื้อหา | ล็อกอินหลังบ้านแล้วแก้ไข | commit แล้ว build และเผยแพร่อัตโนมัติ |
| หลายภาษา | ต้องพึ่งปลั๊กอินหลายภาษา | สร้างหน้าแต่ละภาษาตอน build |
ฟีเจอร์ที่อ่านเขียนข้อมูลแบบเรียลไทม์ เช่น ร้านค้าออนไลน์ ระบบสมาชิก หรือระบบจอง ต้องวางแผนแยกต่างหาก ส่วนฟีเจอร์ที่เว็บไซต์บริษัทใช้กันทั่วไป เช่น ฟอร์มติดต่อ ข่าว ผลงาน รับสมัครงาน และหลายภาษา ทำได้ด้วยเว็บไซต์ static ร่วมกับบริการฟอร์มของผู้ให้บริการภายนอก
ขั้นตอนย้าย WordPress ไป Astro
- รวบรวมหน้าเว็บ: ลิสต์หน้า บทความ รูปภาพ และฟอร์มทั้งหมด
- ส่งออกเนื้อหา: ส่งออกบทความและหน้าเป็น Markdown พร้อมดาวน์โหลดรูปภาพทั้งหมด
- คง URL เดิม: ใช้ URL เดิมให้มากที่สุด ส่วนที่เปลี่ยนให้ตั้ง redirect 301 เพื่อไม่ให้อันดับการค้นหาตก
- ทำดีไซน์ใหม่: ทำตามแบบเดิม หรือเปลี่ยนเป็นดีไซน์ใหม่ พร้อมรองรับมือถือ
- เปลี่ยนฟีเจอร์: ฟอร์มเปลี่ยนไปใช้บริการฟอร์มภายนอก สถิติเปลี่ยนไปใช้โซลูชันที่ไม่ต้องมีเซิร์ฟเวอร์
- ย้ายโดเมน: ตรวจสอบเรียบร้อยแล้วชี้โดเมนไปแพลตฟอร์มใหม่ เซิร์ฟเวอร์เก่าหมดอายุแล้วไม่ต้องต่อ
คำถามที่พบบ่อย
เว็บไซต์ WordPress จะโดน PHP2Shell โจมตีไหม?
โดน ช่องโหว่อยู่ใน PHP เอง ถ้า PHP บนเซิร์ฟเวอร์ไม่ใช่เวอร์ชัน 8.5.12, 8.4.27, 8.3.36, 8.2.35 หรือเวอร์ชันที่ผู้ให้บริการโฮสติ้งแพตช์แล้ว ก็ได้รับผลกระทบทั้งหมด ไม่เกี่ยวกับเวอร์ชัน WordPress
เปิดโหมดปิดปรับปรุงของ WordPress กันได้ไหม?
ไม่ได้ PHP ประมวลผลคำขอไปก่อนที่โหมดปิดปรับปรุงจะมีผล ต้องอัปเกรด PHP หรือหยุด PHP-FPM แล้วใช้หน้าปิดปรับปรุงแบบ static แทน
ใช้ PHP 8.1 หรือเก่ากว่าต้องทำอย่างไร?
PHP ไม่ออกอัปเดตให้เวอร์ชันเหล่านี้แล้ว ขอแพตช์ที่พอร์ตมาจากผู้ให้บริการโฮสติ้ง หรืออัปเกรดเป็น PHP 8.2 ขึ้นไป ถ้าธีมและปลั๊กอินใช้ร่วมกันไม่ได้ ก็พิจารณาย้ายไปเว็บไซต์ static เลย
เว็บไซต์ static ไม่เสียเงินจริงหรือ?
แพ็กเกจฟรีของ Cloudflare Pages, Vercel, Netlify และ GitHub Pages เพียงพอสำหรับเว็บไซต์บริษัท จ่ายแค่ค่าโดเมน
อยากเปลี่ยนเว็บไซต์บริษัทจาก WordPress? ติดต่อผม
เหมาะจะติดต่อผมถ้า:
- เว็บไซต์บริษัทใช้ WordPress และคืนวันที่ 21 ตุลาคม ไม่รู้ว่าควรปิดเว็บไหม หรือจะหาใครมาติดตั้งแพตช์
- เซิร์ฟเวอร์ยังเป็น PHP 8.1 หรือเก่ากว่า
- ต้องต่ออายุโฮสติ้ง เซิร์ฟเวอร์ และจ่ายค่าดูแลทุกปี
- ติดต่อคนที่ทำเว็บให้ไม่ได้แล้ว เว็บไม่มีใครดูแล
- ทำตลาดญี่ปุ่นหรือต่างประเทศ ต้องการเว็บไซต์บริษัทหลายภาษา เช่น ญี่ปุ่นและอังกฤษ
ผมย้ายเว็บไซต์บริษัทที่ใช้ WordPress ไปเป็นเว็บไซต์ static ด้วย Astro ให้ได้: เร็วกว่า ปลอดภัยกว่า ไม่ต้องต่ออายุโฮสติ้งและเซิร์ฟเวอร์ทุกปี commit แล้ว build และเผยแพร่อัตโนมัติ ไม่ต้องหาคนดูแลอีก
ติดต่อผมผ่าน WeChat (757118) ที่อยู่ในหน้าเกี่ยวกับ หรือ X (@zhaoJianNet) ส่งที่อยู่เว็บไซต์และความต้องการมา ผมจะเสนอแผนการย้ายที่ชัดเจนให้
อ้างอิง
- ประกาศความปลอดภัยอย่างเป็นทางการของ PHP
- Wiz Research: PHP2Shell: AI uncovers critical RCE vulnerabilities affecting 70% of the Internet
- The Hacker News: PHP2Shell: Two Unpatched Critical PHP RCE Flaws (CVSS 9.2) Trigger Emergency Security Alert
- Patchstack: Major security alert: PHP vulnerable to critical RCE, attacks ongoing
- Sansec: PHP2Shell: Critical PHP RCE (CVE-2026-109618, CVE-2026-109619)
- NL Times: Dutch parliament website taken offline as cybersecurity warning triggers precautions
- Pasquale Pillitteri: PHP2Shell, Netherlands and Finland switch off government sites before the patch
- Impress Watch: 国内大手サービスで緊急メンテやサービス停止 PHP脆弱性で対策