PHP2Shell: ช่องโหว่ระดับวิกฤตใน PHP | KNP รับเขียนโปรแกรม
KNP Program Solution SYSTEM DEVELOPMENT & MAINTENANCE
ข่าวสาร

PHP2Shell: ช่องโหว่ระดับวิกฤตใน PHP

PHP2Shell: ช่องโหว่ระดับวิกฤตใน PHP และสิ่งที่ KNP ทำเพื่อปกป้องระบบของลูกค้า

เมื่อวันที่ 21 ตุลาคม 2569 ที่ผ่านมา ทางโครงการ PHP ได้ประกาศแพตช์แก้ไขช่องโหว่ระดับวิกฤต 2 รายการ คือ CVE-2026-109618 และ CVE-2026-109619 ซึ่งในวงการความปลอดภัยเรียกรวมกันว่า “PHP2Shell” ถือเป็นข่าวที่สะเทือนวงการคนทำเว็บพอสมควร เพราะ PHP เป็นภาษาที่อยู่เบื้องหลังเว็บไซต์และระบบงานจำนวนมหาศาลทั่วโลก ตั้งแต่เว็บไซต์บริษัท ร้านค้าออนไลน์ ไปจนถึงระบบหลังบ้านขององค์กร

ช่องโหว่นี้อันตรายแค่ไหน

ทั้งสองช่องโหว่เปิดทางให้ผู้ไม่หวังดีสามารถสั่งรันโค้ดบนเซิร์ฟเวอร์ได้จากระยะไกล โดยไม่ต้องล็อกอินเข้าระบบเลย พูดง่ายๆ คือ หากเซิร์ฟเวอร์ยังไม่ได้อัปเดต ผู้โจมตีอาจเข้าไปควบคุมเครื่องได้ด้วยการส่งคำขอ (request) เพียงครั้งเดียว ซึ่งรายงานระบุว่ามีโค้ดโจมตีที่ใช้งานได้จริงแล้ว

ในเชิงเทคนิค ช่องโหว่แรกเกิดเมื่อ PHP ใช้หน่วยความจำจนหมดระหว่างประมวลผลคำขอ ทำให้ข้อมูลบางส่วนค้างอยู่ในสภาพที่ไม่สมบูรณ์ แต่ระบบกลับนำไปใช้ต่อเหมือนเป็นข้อมูลปกติ ส่วนช่องโหว่ที่สองเกิดจากข้อมูลภายในของคำขอก่อนหน้ายังหลงเหลืออยู่หลังถูกคืนหน่วยความจำไปแล้ว และคำขอถัดไปอาจหยิบข้อมูลที่ค้างอยู่นั้นมาใช้

ใครได้รับผลกระทบบ้าง

ทุกระบบที่ใช้ PHP ให้บริการหน้าเว็บมีความเสี่ยง ไม่ว่าจะทำงานผ่าน PHP-FPM, Apache (mod_php), php-cgi, FrankenPHP หรือ LiteSpeed ระบบของ KNP ก็ใช้ PHP เป็นหลักเช่นกัน จึงอยู่ในกลุ่มที่ต้องอัปเดตโดยเร็ว

เวอร์ชันที่แก้ไขแล้วได้แก่ PHP 8.5.12, 8.4.27, 8.3.36 และ 8.2.35 ส่วนระบบที่ยังใช้ PHP รุ่นเก่า (8.1 ลงไป) ซึ่งหมดระยะการสนับสนุนแล้ว ทางทีม PHP ได้ออกชุดแก้ไขสำหรับนำไปปรับใช้เอง แต่ต้องอาศัยผู้ดูแลระบบที่มีความเชี่ยวชาญในการติดตั้ง

สิ่งที่ KNP ดำเนินการ

ทันทีที่ได้รับข่าว เราเริ่มตรวจสอบเซิร์ฟเวอร์ทุกเครื่องที่ดูแลอยู่ ไล่ดูเวอร์ชัน PHP ของแต่ละระบบ แล้วทยอยอัปเดตเป็นเวอร์ชันที่ปิดช่องโหว่แล้ว พร้อมทดสอบว่าระบบของลูกค้ายังทำงานได้ตามปกติหลังอัปเดต ทั้งหมดดำเนินการเสร็จเรียบร้อยตั้งแต่คืนวันที่ 21 ถึงเช้าวันที่ 22 ตุลาคม เพื่อให้กระทบการใช้งานของลูกค้าน้อยที่สุด

นอกจากนี้ ระบบของลูกค้าทุกรายมีการสำรองข้อมูลอัตโนมัติทุกวันอยู่แล้ว ซึ่งเป็นด่านป้องกันสำคัญในกรณีที่เกิดเหตุไม่คาดฝัน เพราะต่อให้ระบบถูกโจมตี หากมีข้อมูลสำรองที่ใช้งานได้จริง ก็สามารถกู้ระบบกลับมาได้

สิ่งที่เจ้าของธุรกิจควรทำตอนนี้

หากคุณมีเว็บไซต์หรือระบบที่ใช้ PHP และดูแลโดยผู้ให้บริการรายอื่น แนะนำให้สอบถามผู้ดูแลระบบของคุณ 3 ข้อนี้:

  1. ระบบของเราใช้ PHP เวอร์ชันอะไร และได้อัปเดตปิดช่องโหว่ PHP2Shell แล้วหรือยัง
  2. ถ้ายังใช้ PHP รุ่นเก่าที่หมดการสนับสนุน มีแผนรับมืออย่างไร
  3. มีการสำรองข้อมูลหรือไม่ และเคยทดสอบกู้คืนข้อมูลจริงหรือเปล่า

ข้อสุดท้ายสำคัญที่สุด เพราะการมีข้อมูลสำรองที่ไม่เคยทดสอบกู้คืน ยังไม่ถือว่าปลอดภัยอย่างแท้จริง

ความปลอดภัยไม่ใช่งานทำครั้งเดียวจบ

เหตุการณ์ครั้งนี้เป็นตัวอย่างที่ดีว่าระบบที่ “ใช้งานได้” กับระบบที่ “ปลอดภัย” ไม่ใช่เรื่องเดียวกัน ช่องโหว่ใหม่ๆ เกิดขึ้นได้ตลอดเวลา สิ่งที่ทำให้ธุรกิจปลอดภัยคือการมีคนคอยติดตามข่าว อัปเดตระบบอย่างทันท่วงที และมีแผนสำรองข้อมูลที่กู้คืนได้จริง

หากระบบของคุณยังไม่มีผู้ดูแล หรือไม่แน่ใจว่าปลอดภัยจากช่องโหว่นี้หรือไม่ ติดต่อปรึกษาเราได้ครับ