PHP2Shell: สิ่งที่ต้องทำตอนนี้สำหรับเว็บไซต์ WordPress หรือ Laravel ของคุณ

อัปเดตเมื่อ 21 ตุลาคม 2026 เวลา 21:30 (เวลาประเทศไทย): มีตัวแก้ไขออกมาแล้ว ให้อัปเดตเป็น PHP 8.2.35, 8.3.36, 8.4.27 หรือ 8.5.12 คำสั่งอยู่ในขั้นตอนที่ 3
ช่องโหว่ความปลอดภัยระดับวิกฤตสองรายการใน PHP รั่วไหลออกมาเมื่อวันที่ 20 ตุลาคม ก่อนที่ตัวแก้ไขจะพร้อม ช่องโหว่นี้มีชื่อว่า PHP2Shell และมีรหัส CVE-2026-109618 และ CVE-2026-109619 ทีมความปลอดภัยของ PHP เองประเมินไว้ที่ 9.2 จาก 10 ผู้โจมตีส่งคำขอที่เตรียมมาเพียงครั้งเดียวไปยังเว็บไซต์ของคุณ ก็รันโค้ดของตัวเองบนเซิร์ฟเวอร์ได้โดยไม่ต้องใช้รหัสผ่าน การโจมตีเริ่มขึ้นแล้ว ในเนเธอร์แลนด์ สภาผู้แทนราษฎร ศูนย์ความมั่นคงปลอดภัยไซเบอร์แห่งชาติ และ Tweakers ปิดเว็บไซต์ของตนเพื่อป้องกันไว้ก่อน
หากเว็บไซต์ของคุณทำงานบน PHP เรื่องนี้เกี่ยวข้องกับคุณ ซึ่งรวมถึงเว็บ WordPress และ WooCommerce เกือบทั้งหมด แอป Laravel ทุกตัว รวมถึง Magento, Shopware และ Drupal ต่อไปนี้คือสิ่งที่ต้องทำ เรียงตามลำดับ
ไม่มีเวลา หรือไม่มีนักพัฒนาอยู่ใกล้ตัว? เราแพตช์เซิร์ฟเวอร์ให้คุณวันนี้: อัปเดต PHP ปิดสิ่งที่ไม่ควรเปิดไว้ ตรวจว่ามีการบุกรุกหรือไม่ และส่งรายงานสั้นๆ ให้คุณ ขอความช่วยเหลือฉุกเฉิน →
เกิดอะไรขึ้น อธิบายแบบเข้าใจง่าย
บั๊กอยู่ใน PHP เอง ในส่วนที่จัดการคำขอเว็บ: รายการหนึ่งเกิดขึ้นเมื่อ PHP หน่วยความจำหมดระหว่างที่ยังอ่านคำขออยู่ อีกรายการเกิดเมื่อข้อมูลจากคำขอหนึ่งหลงเหลือไปยังคำขอถัดไป ทั้งสองอย่างเกิดขึ้นก่อนที่โค้ดของเว็บไซต์คุณจะทำงาน จึงเป็นเหตุผลที่การอัปเดต WordPress หรือปลั๊กอินไม่ช่วย ทุกรูปแบบการติดตั้งที่ให้บริการหน้าเว็บได้รับผลกระทบ ได้แก่ mod_php (เสี่ยงสูงสุด), PHP-FPM, php-cgi, FrankenPHP และ LiteSpeed PHP สนับสนุนเฉพาะ 8.2 ขึ้นไป สำหรับ 8.1 และเก่ากว่า ทีม PHP ออกแพตช์ backport ไม่ได้ออกเวอร์ชันใหม่
| สถานการณ์ของคุณ | สิ่งที่ต้องทำ | ความเร่งด่วน |
|---|---|---|
| โฮสติ้งแบบแชร์หรือแบบมีผู้ดูแล (เว็บ WordPress ส่วนใหญ่) | ดูหน้าสถานะของผู้ให้บริการโฮสติ้ง สอบถามว่าจะแพตช์เมื่อไรและคุณใช้ PHP เวอร์ชันใด | วันนี้ |
| เซิร์ฟเวอร์ของคุณเอง, VPS หรืออินสแตนซ์บนคลาวด์ | ติดตั้งอัปเดต PHP ทันทีที่ออก ระหว่างนั้นให้ป้องกันเซิร์ฟเวอร์ (ดูด้านล่าง) | วันนี้ |
| Docker หรือคอนเทนเนอร์ | สร้าง image ใหม่บน PHP base image ที่แพตช์แล้ว แล้วดีพลอยใหม่ | วันนี้ |
| PHP 8.1 หรือเก่ากว่า | อัปเกรดเป็น PHP 8.2 หรือใหม่กว่า ระหว่างนั้นให้ล็อกเว็บไซต์ไว้ | วันนี้ และวางแผนอัปเกรด |
| ร้านค้าออนไลน์หรือเว็บไซต์ที่มีข้อมูลลูกค้าซึ่งแพตช์วันนี้ไม่ได้ | เปิดโหมดปิดปรับปรุง หรืออนุญาตเฉพาะการดูหน้าเว็บ (คำขอ GET) | ทันที |
ขั้นตอนที่ 1: สำรองข้อมูลตอนนี้
สำรองไฟล์และฐานข้อมูลทั้งหมด และเก็บไว้ที่อื่นที่ไม่ใช่เซิร์ฟเวอร์ตัวเอง หากมีอะไรผิดพลาดในชั่วโมงข้างหน้า ข้อมูลสำรองที่สะอาดจากก่อนหน้านี้คือทางกลับที่เร็วที่สุด
ขั้นตอนที่ 2: ป้องกันเซิร์ฟเวอร์จนกว่าจะติดตั้งตัวแก้ไข
วิธีเหล่านี้ไม่ได้แก้บั๊ก แต่ทำให้โจมตีได้ยากขึ้น:
- ใช้ค่าชั่วคราวของ PHP ใน
php.iniหรือ FPM pool ของคุณ (ไม่ใช่ใน.user.iniหรือด้วยini_set()) ให้ตั้งsession.upload_progress.enabled = 0,memory_limit = -1,post_max_size = 8M(32M หากต้องใช้การอัปโหลด) และupload_max_filesize = 4Mบน PHP 8.5 ให้ตั้งfatal_error_backtraces = 0ด้วย จากนั้นรีสตาร์ท PHP-FPM หรือเว็บเซิร์ฟเวอร์ของคุณ PHP เองระบุว่าค่าเหล่านี้ช่วยลดความเสี่ยง แต่ไม่ได้ทำให้เซิร์ฟเวอร์ปลอดภัย - ปิดประตูหลัง หากใช้ Cloudflare หรือ CDN อื่น ให้เซิร์ฟเวอร์รับทราฟฟิกจากช่วง IP ของ CDN นั้นเท่านั้น กฎไฟร์วอลล์ของ CDN จะช่วยได้ก็ต่อเมื่อผู้โจมตีเข้าถึงเซิร์ฟเวอร์ของคุณโดยตรงไม่ได้
- บล็อกการอัปโหลดในที่ที่ไม่จำเป็น การปฏิเสธคำขอ
multipart/form-dataใน nginx หรือ Apache ช่วยหยุดการโจมตีนี้ได้ แต่ก็ทำให้การอัปโหลดไฟล์ และบางฟอร์มหรือหน้าชำระเงินใช้ไม่ได้ด้วย ทดสอบก่อน - นำเว็บไซต์ที่เสี่ยงสูงออกจากออนไลน์ สำหรับร้านค้าหรือเว็บไซต์ที่มีข้อมูลลูกค้าซึ่งแพตช์วันนี้ไม่ได้ หน้าปิดปรับปรุงปลอดภัยกว่าการเปิดต่อ หรือจะอนุญาตเฉพาะคำขอ GET และ HEAD เพื่อให้หน้าเว็บยังโหลดได้ก็ได้
อย่าติดตั้งปลั๊กอิน “แก้ไข” ที่ไม่เป็นทางการ และอย่าคัดลอกโค้ดจากเว็บบอร์ดมาใช้ อาจทำให้แย่ลง
ขั้นตอนที่ 3: ติดตั้งอัปเดต PHP
เวอร์ชันที่แก้ไขแล้วออกมาตั้งแต่วันที่ 21 ตุลาคม 2026:
| คุณใช้ | อัปเดตเป็นอย่างน้อย |
|---|---|
| PHP 8.5 | 8.5.12 |
| PHP 8.4 | 8.4.27 |
| PHP 8.3 | 8.3.36 |
| PHP 8.2 | 8.2.35 (หมดการสนับสนุนวันที่ 31 ธันวาคม 2026 จึงควรวางแผนอัปเกรด) |
| PHP 8.1 หรือเก่ากว่า | ไม่มีเวอร์ชันใหม่: อัปเกรดเป็น 8.2 หรือใหม่กว่า หรือขอแพ็กเกจ backport จากผู้ให้บริการของคุณ |
- Ubuntu หรือ Debian:
sudo apt update && sudo apt upgradeแล้วใช้sudo systemctl restart php8.3-fpm(ใช้เวอร์ชันของคุณ) หรือsudo systemctl restart apache2สำหรับ mod_php ดิสทริบิวชันจะ backport การแก้ไขเข้าไปในเวอร์ชันแพ็กเกจของตัวเอง หมายเลขจึงอาจต่างออกไป: ให้ดูประกาศความปลอดภัยของดิสทริบิวชันแทนการดูphp -vส่วนบน repository ondrej/sury หมายเลขเวอร์ชันตรงกับตารางด้านบน - RHEL, AlmaLinux หรือ Rocky:
sudo dnf upgrade 'php*'แล้วรีสตาร์ท PHP-FPM หรือ Apache - Docker: สร้างใหม่ด้วย image ทางการล่าสุด เช่น
docker build --pull .บนphp:8.4-fpmแล้วดีพลอยทุกคอนเทนเนอร์ใหม่ - โฮสติ้งแบบมีผู้ดูแลหรือแบบแชร์: ผู้ให้บริการจะติดตั้งให้ ขอให้เขายืนยันวันที่และเวอร์ชัน และตรวจว่าเว็บไซต์ของคุณใช้ 8.2 หรือใหม่กว่า
รีสตาร์ท PHP worker ทั้งหมดหลังอัปเดต: worker เก่ายังคงรันโค้ดที่มีช่องโหว่อยู่ จากนั้นตรวจสอบด้วย php -v ในบรรทัดคำสั่ง และด้วยหน้า phpinfo() ที่ต้องลบทิ้งทันทีหลังใช้
ขั้นตอนที่ 4: ตรวจว่ามีใครเข้ามาหรือไม่
บั๊กนี้เปิดเผยต่อสาธารณะตั้งแต่วันที่ 20 ตุลาคม เซิร์ฟเวอร์ที่ออนไลน์อยู่และยังไม่ได้แพตช์อาจถูกโจมตีไปแล้ว หลังแพตช์ให้ตรวจสอบ:
- ไฟล์
.phpใหม่หรือที่ถูกแก้ไขในโฟลเดอร์อัปโหลด:wp-content/uploadsสำหรับ WordPress,storage/และpublic/สำหรับ Laravel - ผู้ใช้แอดมินที่คุณไม่รู้จัก ทั้งใน WordPress และในแผงควบคุมโฮสติ้ง
- cron job หรืองานที่ตั้งเวลาไว้ใหม่
- ไฟล์หลักของ WordPress ที่เพิ่งถูกแก้ไข และการเปลี่ยนเส้นทางไปยังเว็บไซต์ที่คุณไม่รู้จัก
พบอะไรผิดปกติ? อย่าเพียงลบไฟล์แปลกๆ ทิ้ง ให้กู้คืนข้อมูลสำรองที่สะอาดจากก่อนวันที่ 20 ตุลาคม แพตช์ แล้วเปลี่ยนรหัสผ่านทั้งหมด: แอดมิน โฮสติ้ง ฐานข้อมูล SFTP และ API key หากคุณใช้ UpdraftCentral ให้ลบคีย์แดชบอร์ดของมันด้วย: ผู้โจมตีกำลังใช้คีย์ที่รั่วไหลเพื่อฝัง backdoor ซึ่งเป็นปัญหาแยกต่างหากที่เกิดขึ้นอยู่ในขณะนี้
หลังสัปดาห์นี้
- ใช้ PHP เวอร์ชันที่ยังได้รับการสนับสนุน (8.2 หรือใหม่กว่า) และอัปเดตเป็นส่วนหนึ่งของการดูแลตามปกติ ไม่ใช่เฉพาะตอนเกิดวิกฤต
- ตรวจให้แน่ใจว่าเซิร์ฟเวอร์ของคุณรับทราฟฟิกเว็บเฉพาะพอร์ต 80 และ 443 ฐานข้อมูลและพอร์ตผู้ดูแลระบบไม่ควรเปิดให้ทั้งอินเทอร์เน็ตเข้าถึง
- เก็บข้อมูลสำรองรายวันไว้นอกบัญชีโฮสติ้งของคุณ และทดสอบการกู้คืนอย่างน้อยหนึ่งครั้ง
- จดไว้ว่าใครเป็นผู้โฮสต์เว็บไซต์ของคุณ ใช้ PHP เวอร์ชันใด และใครล็อกอินได้บ้าง สัปดาห์นี้แสดงให้เห็นแล้วว่าช่วยประหยัดเวลาได้มาก
ต้องการความช่วยเหลือวันนี้?
ส่งที่อยู่เว็บไซต์ของคุณมา แล้วเราเริ่มงานวันนี้ นักพัฒนาอาวุโสจะตรวจว่าเว็บไซต์ของคุณใช้ PHP เวอร์ชันใด ติดตั้งตัวแก้ไข หรือล็อกเว็บไซต์ไว้จนกว่าจะแพตช์ได้ และตรวจว่ามีการบุกรุกหรือไม่ คุณจะได้รับรายงานสั้นๆ ว่าเราพบอะไรและแก้ไขอะไรไปบ้าง ไม่ว่าจะเป็นผู้ให้บริการโฮสติ้ง เอเจนซี หรือเซิร์ฟเวอร์ของคุณเอง เราทำงานกับสิ่งที่คุณมี
ขอความช่วยเหลือฉุกเฉิน → หรือ ติดต่อเรา
แหล่งที่มา: Sansec, Patchstack, CERT-EU via The Next Web, NL Times.
คำถามที่พบบ่อย
เว็บไซต์ WordPress ของฉันได้รับผลกระทบจาก PHP2Shell หรือไม่
น่าจะได้รับผลกระทบ บั๊กอยู่ที่ PHP ไม่ใช่ WordPress เว็บ WordPress ที่ใช้ PHP เวอร์ชันที่ยังไม่ได้แพตช์จึงมีความเสี่ยงทั้งหมด การอัปเดต WordPress หรือปลั๊กอินไม่ช่วยแก้ปัญหานี้ ต้องอัปเดต PHP เท่านั้น
Laravel ได้รับผลกระทบหรือไม่
ได้รับผลกระทบ Laravel ทำงานบน PHP และบั๊กอยู่ที่วิธีที่ PHP อ่านคำขอก่อนที่โค้ดแอปของคุณจะเริ่มทำงาน ให้อัปเดต PHP บนเซิร์ฟเวอร์หรือใน Docker image ของคุณ
เว็บไซต์ของฉันอยู่บนโฮสติ้งแบบแชร์หรือแบบมีผู้ดูแล ต้องทำอย่างไร
ผู้ให้บริการโฮสติ้งจะอัปเดต PHP ให้คุณ ดูหน้าสถานะของเขาหรือสอบถามว่าจะแพตช์เมื่อไร และเว็บไซต์ของคุณใช้ PHP เวอร์ชันที่ยังได้รับการสนับสนุนหรือไม่ (8.2 ขึ้นไป) หากใช้ 8.1 หรือเก่ากว่า ให้ขอให้เขาย้ายเวอร์ชันให้
ถ้าเว็บไซต์ของฉันใช้ PHP 8.1 หรือเก่ากว่าล่ะ
PHP สนับสนุนเฉพาะ 8.2 ขึ้นไป สำหรับ 7.4, 8.0 และ 8.1 ทีม PHP ออกแพตช์ backport ให้ แต่ไม่มีเวอร์ชันใหม่ ให้อัปเกรด PHP หลังจากตรวจสอบแล้วว่าปลั๊กอิน WordPress หรือ Laravel ของคุณใช้งานกับเวอร์ชันใหม่ได้ ระหว่างนั้นให้ปิดเว็บไซต์หรือจำกัดการเข้าถึงไว้ก่อน
ไฟร์วอลล์ของ Cloudflare ปกป้องฉันได้หรือไม่
ได้เพียงบางส่วน Cloudflare เพิ่มกฎป้องกันแล้ว แต่จะได้ผลก็ต่อเมื่อเซิร์ฟเวอร์ของคุณรับทราฟฟิกจาก Cloudflare เท่านั้น หากเข้าถึง IP ของเซิร์ฟเวอร์ได้โดยตรง ผู้โจมตีก็อ้อมผ่านไปได้
วันนี้มีคนช่วยแพตช์เซิร์ฟเวอร์ให้ได้ไหม
ได้ ด้วยบริการช่วยเหลือฉุกเฉินของเรา นักพัฒนาอาวุโสเริ่มงานได้ภายในวันเดียวกัน: แพตช์ เสริมความปลอดภัย ตรวจการบุกรุก และส่งรายงานสั้นๆ ให้คุณ
บทความที่เกี่ยวข้อง

บริษัทเก่าไม่ยอมคืนโดเมน โฮสติ้ง หรือโค้ด ทำอย่างไร
โดเมน โฮสติ้ง และโค้ดเป็นของใคร จะขอคืนจากเอเจนซีหรือฟรีแลนซ์เดิมอย่างไร พร้อมตัวอย่างข้อความขอคืน ขั้นตอนต่อโดเมนแต่ละประเทศ และค่าบริการช่วยโอนย้าย


เว็บไซต์ช้าลงกะทันหัน ต้องทำอย่างไร ตรวจเองใน 15 นาที
เว็บไซต์ช้าผิดปกติ ตรวจ 6 ข้อใน 15 นาที ดูตารางอาการและสาเหตุ (โฮสติ้ง ปลั๊กอิน รูปภาพ บอท) พร้อมค่าบริการแก้ไข


คนทำเว็บติดต่อไม่ได้ ทำยังไง? วิธีเอาโดเมน โฮสติ้ง โค้ดคืน
โปรแกรมเมอร์หายตัว ฟรีแลนซ์ทิ้งงาน หรือบริษัททำเว็บปิดตัว? วิธีเอาโดเมน โฮสติ้ง ซอร์สโค้ด และบัญชี App Store คืน ทีละขั้น พร้อมว่าใครจะเข้ามาดูแลต่อ

