ช่องโหว่ PHP2Shell (CVE-2026-109618 และ CVE-2026-109619) เปิดทางให้คนที่ไม่ได้ล็อกอินสั่งรันโค้ดบนเซิร์ฟเวอร์เว็บที่ใช้ PHP จากระยะไกลได้ เมื่อวันที่ 26 ต.ค. 2569 หน่วยงานด้านความมั่นคงไซเบอร์ของสหรัฐฯ หรือ CISA (Cybersecurity and Infrastructure Security Agency) เพิ่มช่องโหว่ทั้งสองรายการเข้าบัญชี KEV ซึ่งเป็นบัญชีช่องโหว่ที่มีการโจมตีใช้งานจริง เจ้าของเว็บ ร้านค้าออนไลน์ และผู้ดูแลเว็บหน่วยงานที่ใช้ PHP ควรเช็กรุ่น PHP ของโฮสติ้งและอัปเดตโดยเร็ว
รุ่นที่แก้แล้วมี 4 สาย คือ PHP 8.5.12, 8.4.27, 8.3.36 และ 8.2.35 ส่วนระบบที่ใช้ PHP 8.1 หรือเก่ากว่า CISA ระบุว่าเป็นรุ่นที่หมดการสนับสนุนแล้ว และแนะนำให้นำระบบออฟไลน์จนกว่าจะอัปเดต เว็บไซต์ php.net ก็ออก PHP 8.5.12 เป็นรุ่นอัปเดตด้านความปลอดภัย พร้อมแบนเนอร์เตือนช่องโหว่รันโค้ดระยะไกลระดับร้ายแรง
PHP2Shell คืออะไร และบัญชี KEV บอกอะไรผู้ดูแลเว็บ
ช่องโหว่สองรายการนี้เป็นที่รู้จักในชื่อ PHP2Shell ตามที่ CISA ระบุ รายการแรกคือ CVE-2026-109618 ที่ CISA จัดเป็นช่องโหว่ PHP Memory Corruption Vulnerability รายการที่สองคือ CVE-2026-109619 ที่จัดเป็น PHP Stale Internal Request-State Vulnerability ทั้งสองรายการเป็นช่องโหว่รันโค้ดจากระยะไกลโดยไม่ต้องยืนยันตัวตน คือผู้โจมตีไม่ต้องมีบัญชีหรือรหัสผ่านของเว็บก็สั่งให้เซิร์ฟเวอร์รันโค้ดได้
บัญชี KEV (Known Exploited Vulnerabilities Catalog) คือรายการช่องโหว่ที่ CISA ยืนยันว่ามีการโจมตีใช้งานจริง CISA ระบุว่าเป็นแหล่งข้อมูลหลักของช่องโหว่ประเภทนี้ และแนะนำให้องค์กรใช้เป็นข้อมูลประกอบการจัดลำดับงานอุดช่องโหว่ ช่องโหว่ที่เข้าบัญชีนี้จึงต่างจากคำเตือนล่วงหน้า เพราะมีคนนำไปใช้โจมตีแล้ว
ในบัญชี ทั้งสองรายการอยู่ภายใต้ชื่อผู้ผลิต PHP Group เพิ่มเมื่อ 26 ต.ค. 2569 และมีกำหนดอุดภายใน 29 ต.ค. 2569 เว็บที่คนทั่วไปเข้าถึงได้ควรอัปเดตก่อน ตามคำแนะนำของ CISA ที่ให้อัปเดตระบบที่เปิดสู่อินเทอร์เน็ตก่อน
ตอนนี้ไปถึงขั้นไหนแล้ว
ประกาศของ CISA ระบุรุ่นที่แก้แล้ว 4 รุ่น และบอกว่ามีกฎ SIGMA สำหรับตรวจ log ให้ใช้ CISA ยังระบุว่าอาจปรับปรุงเอกสารเพิ่มเติมภายหลัง เจ้าของเว็บจึงควรกลับมาดูประกาศฉบับเดียวกันเป็นระยะ
อย่าเพิ่งสรุปว่าโฮสติ้งอัปเดตให้แล้ว ให้ถามผู้ให้บริการของตัวเองโดยตรงว่าเว็บใช้ PHP รุ่นไหน และอัปเดตเป็นรุ่นที่แก้แล้วหรือยัง

เช็กรุ่น PHP และอัปเดตตามลำดับนี้
CISA แนะนำให้เริ่มจากทำรายการระบบที่ใช้ PHP ทุกตัว ไม่ว่ารุ่นไหน เพราะ PHP มักเป็นส่วนประกอบของซอฟต์แวร์อื่น จึงอาจมองไม่เห็นว่ามีอยู่ ช่องโหว่นี้กระทบการติดตั้ง PHP ทุกแบบที่รับคำขอเว็บ ได้แก่ Apache ที่ใช้ mod_php (ซึ่ง CISA ระบุว่า PHP จัดเป็นความเสี่ยงสูงสุด) PHP-FPM, php-cgi, FrankenPHP และ LiteSpeed
ถ้าใช้โฮสติ้งทั่วไปที่มีแผงควบคุม cPanel ให้เปิดเครื่องมือ MultiPHP Manager ตามเอกสารของ cPanel เครื่องมือนี้แสดงรายการโดเมนพร้อมรุ่น PHP ที่แต่ละโดเมนใช้อยู่ ถ้าขึ้นป้าย Inherited แปลว่าโดเมนนั้นใช้รุ่นตามค่าเริ่มต้นของระบบ ถ้าหาโดเมนไม่เจอ ใช้ช่องค้นหาด้วยชื่อโดเมนได้ สำหรับ Plesk หรือแผงควบคุมอื่น ให้ดูในหน้าตั้งค่า PHP ของแผงควบคุมนั้น ถ้าไม่เห็นหรือไม่แน่ใจ ให้ถามผู้ให้บริการโฮสติ้ง
ถ้าดูแลเซิร์ฟเวอร์ของตัวเองและเข้า SSH ได้ ให้รันคำสั่ง php -v ตามคู่มือ PHP บน php.net คำสั่งนี้แสดงชื่อ SAPI และเลขรุ่นของ PHP กับ Zend Engine ส่วนเว็บที่รันใน Docker ให้ใช้ docker exec ซึ่งเอกสารของ Docker อธิบายว่าเป็นคำสั่งรันคำสั่งใหม่ในคอนเทนเนอร์ที่กำลังทำงานอยู่ โครงคำสั่งคือ docker exec ชื่อคอนเทนเนอร์ php -v คอนเทนเนอร์ต้องกำลังทำงานอยู่ จึงจะรันคำสั่งนี้ได้
ถ้าเว็บใช้ PHP จากแพ็กเกจของลีนุกซ์ดิสโทร เลขรุ่นอาจดูเก่ากว่ารุ่นที่แก้แล้วแต่ถูกแพตช์ไปแล้ว คู่มือ PHP เตือนว่าเลขรุ่นอาจมีส่วนต่อท้ายจากผู้จัดทำแพ็กเกจ เช่น 5.5.9-1ubuntu4.17 วิธีตรวจคืออ่าน changelog ของแพ็กเกจและหา CVE ID ของช่องโหว่ทั้งสอง ส่วนผู้พัฒนาเว็บที่เขียนโค้ดอยู่แล้ว เรียกฟังก์ชัน phpversion() หรืออ่านค่าคงที่ PHP_VERSION ได้
- ทำรายการระบบที่ใช้ PHP ทุกตัว รวมซอฟต์แวร์ที่ฝัง PHP ไว้ข้างใน
- เช็กรุ่น PHP และรูปแบบการติดตั้งของแต่ละระบบ
- เทียบกับรุ่นที่แก้แล้ว คือ 8.5.12, 8.4.27, 8.3.36 และ 8.2.35
- ถ้าใช้แพ็กเกจจากดิสโทร ให้หา CVE-2026-109618 และ CVE-2026-109619 ใน changelog
- อัปเดตระบบที่เปิดสู่อินเทอร์เน็ตก่อน
ความเข้ากันได้ของ CMS หรือปลั๊กอินกับ PHP รุ่นใหม่ ให้ถามผู้พัฒนาหรือผู้ดูแลเว็บก่อนอัปเดต
ใช้ PHP 8.1 หรือเก่ากว่า CISA แนะนำให้นำระบบออฟไลน์
CISA แนะนำให้องค์กรที่อัปเดตไม่ได้ทันที หรือยังใช้ PHP 8.1 หรือเก่ากว่า นำระบบที่ใช้ PHP ออฟไลน์จนกว่าจะอัปเดตเสร็จ ผู้ใช้ PHP รุ่นเก่าต้องวางแผนย้ายไปรุ่นที่ยังได้รับการแก้ไข
ไฟร์วอลล์เว็บแอปพลิเคชัน (WAF) อาจช่วยป้องกันได้บางส่วนระหว่างรออัปเดต ตามถ้อยคำของ CISA จึงไม่ควรถือเป็นทางแก้เต็มรูปแบบ ระหว่างนี้ให้เฝ้าดูว่ากระบวนการ PHP บนเซิร์ฟเวอร์มีการเรียกใช้ shell หรือดาวน์โหลดเครื่องมือหรือไม่ CISA เก็บกฎ SIGMA สำหรับตรวจ log ไว้ในที่เก็บ SIGMA_Rules ของ CISA บน GitHub ผู้ดูแลระบบที่มีเครื่องมือเก็บ log อยู่แล้วนำไปใช้ได้
คำถามที่เจ้าของเว็บควรถามผู้ให้บริการ
เจ้าของร้านค้าออนไลน์หรือ SME ที่จ้างบริษัทหรือฟรีแลนซ์ทำเว็บ ไม่จำเป็นต้องลงมือเอง แต่ควรถามให้ได้คำตอบชัด เช่น เว็บใช้ PHP รุ่นไหน เป็นหนึ่งในสี่รุ่นที่แก้แล้วหรือยัง ถ้าใช้แพ็กเกจจากดิสโทรมี CVE ID ทั้งสองรายการใน changelog หรือไม่ และเว็บรันด้วยรูปแบบใด เช่น mod_php หรือ PHP-FPM
ควรถามต่อว่ามีซอฟต์แวร์อื่นในระบบที่ฝัง PHP ไว้หรือไม่ ถ้าอัปเดตไม่ได้ทันทีมีแผนอย่างไร มี WAF คุ้มกันหรือไม่ และมีใครเฝ้าดูพฤติกรรมผิดปกติของกระบวนการ PHP หรือเปล่า ถ้าผู้ให้บริการตอบไม่ได้ว่าเว็บใช้รุ่นไหน ควรให้ตรวจรุ่น PHP ของเว็บเป็นเรื่องเร่งด่วน
ที่มา: บัญชีช่องโหว่ที่ถูกโจมตีใช้งานจริง (KEV Catalog) และประกาศเรื่องช่องโหว่ร้ายแรงของ PHP ของ CISA, หน้าประกาศ PHP 8.5.12 คู่มือฟังก์ชัน phpversion() และคู่มือตัวเลือกบรรทัดคำสั่งของ PHP บน php.net, เอกสาร MultiPHP Manager ของ cPanel และเอกสารคำสั่ง docker exec ของ Docker







