← 返回新闻首页
网络安全官方

ThaiCERT ขอแนะนำหน่วยงานเร่งตรวจสอบและอัปเดต PHP ให้ครอบคลุมทุกระบบ เพื่อลดความเสี่ยงจากช่องโหว่ PHP2Shell - Thailand Computer Emergency Response Team (ThaiCERT)

เนื่องจากช่องโหว่ PHP2Shell เกิดขึ้นใน PHP ซึ่งเป็นองค์

ThaiCERT查看原文 ↗
泰国计算机应急响应小组 (ThaiCERT) 建议各机构紧急检查并更新所有系统中的 PHP 版本,以降低 PHP2Shell 漏洞带来的风险。

เนื่องจากช่องโหว่ PHP2Shell เกิดขึ้นใน PHP ซึ่งเป็นองค์ประกอบพื้นฐานที่ใช้ประมวลผลเว็บไซต์และระบบสารสนเทศอย่างแพร่หลาย จึงอาจส่งผลกระทบต่อระบบหลายประเภท และเปิดโอกาสให้ผู้โจมตีสั่งรันโค้ดจากระยะไกลโดยไม่ต้องยืนยันตัวตน ทั้งนี้ ความสำเร็จของการโจมตีขึ้นอยู่กับรูปแบบการติดตั้ง การตั้งค่า และเงื่อนไขของแต่ละระบบ เพื่อสนับสนุนให้หน่วยงานสามารถตรวจสอบและแก้ไขได้อย่างครอบคลุม ศูนย์ประสานการรักษาความมั่นคงปลอดภัยระบบคอมพิวเตอร์แห่งชาติ (ThaiCERT) จึงได้รวบรวมแนวทางตรวจสอบและอัปเดต PHP สำหรับระบบแต่ละประเภท โดยขอให้หน่วยงานสำรวจทั้งเว็บไซต์ ระบบภายในองค์กร และระบบที่ผู้ให้บริการภายนอกดูแล โดยเฉพาะ PHP ที่ติดตั้งแยกหลายเวอร์ชัน หรือเป็นองค์ประกอบภายในซอฟต์แวร์และอุปกรณ์หลายรุ่น ซึ่งการอัปเดตตัวแอปพลิเคชัน เครื่องโฮสต์ หรือระบบบริหารจัดการเพียงอย่างเดียว อาจไม่ครอบคลุม PHP ที่เป็นส่วนประกอบของแพลตฟอร์มที่ใช้งานอยู่ หน่วยงานจึงควรตรวจสอบ PHP ที่แต่ละบริการเรียกใช้จริง และยืนยันผลหลังอัปเดตให้ครบทุกระบบ ตามแนวทางต่อไปนี้ [1][2][3]

1. สิ่งที่หน่วยงานควรดำเนินการทันที 1.1 สำรวจการใช้งาน PHP ตรวจสอบว่าแต่ละเว็บไซต์และบริการใช้ PHP ชุดใด รวมถึงระบบภายในและระบบที่ผู้ให้บริการภายนอกดูแล 1.2 เตรียมการและดำเนินการอัปเดต สำรองข้อมูล ทดสอบความเข้ากันได้ และอัปเดต PHP ผ่านช่องทางที่ผู้ผลิตหรือผู้ดูแลแพ็กเกจรองรับ 1.3 เริ่มบริการใหม่และยืนยันผล เริ่มกระบวนการให้บริการใหม่ และยืนยันว่าทุกเครื่องใช้ PHP ที่ได้รับการแก้ไขแล้ว 1.4 เก็บหลักฐานและปรับปรุงระบบสำรอง บันทึกผลการแก้ไข และตรวจแพตช์ก่อนนำระบบสำรองหรืออิมเมจเก่ากลับมาให้บริการ การอัปเดตเว็บไซต์ แอปพลิเคชัน เครื่องโฮสต์ หรือ Control Panel เพียงอย่างเดียว ไม่ได้ยืนยันว่า PHP ทุกชุดได้รับการแก้ไขแล้ว

2. สำรวจการใช้งาน PHP ให้ครอบคลุม 8 กลุ่มระบบ รายการต่อไปนี้ใช้เป็นแนวทางสำรวจ โดยแต่ละระบบอาจอยู่ในหลายกลุ่ม และ ไม่ได้หมายความว่าทุกผลิตภัณฑ์ได้รับผลกระทบ ต้องตรวจสอบเวอร์ชัน สถานะแพตช์ และประกาศของผู้ผลิตประกอบ เว็บไซต์ เว็บแอปพลิเคชัน และระบบภายในองค์กร ตรวจสอบเว็บไซต์สาธารณะ ระบบ CMS, Intranet, HR, ERP, CRM, Helpdesk ระบบจัดซื้อ และพอร์ทัลพนักงานที่ใช้งาน PHP แม้ไม่ได้เปิดสู่อินเทอร์เน็ต โดยระบุ PHP ที่แต่ละบริการเรียกใช้ ตำแหน่งติดตั้ง และไฟล์ตั้งค่าให้ชัดเจน หากให้บริการหลายเครื่อง ต้องตรวจสอบและอัปเดตให้ครบทุกเครื่อง ระบบหลังบ้านแอปมือถือและ API ตรวจสอบเซิร์ฟเวอร์ API และบริการหลังบ้านที่ประมวลผลด้วย PHP การอัปเดตแอปบนโทรศัพท์ไม่ได้ยืนยันว่า PHP ฝั่งเซิร์ฟเวอร์ได้รับการแก้ไขแล้ว หากมีหลายเครื่องอยู่หลัง Load Balancer หรือมีหลายชุดให้บริการ ต้องอัปเดตและยืนยันผลให้ครบทุกชุด ระบบบริหารจัดการและ Hosting Control Panel ตรวจสอบทั้ง PHP ที่ตัวระบบบริหารจัดการใช้ หากมี และ PHP ที่กำหนดให้แต่ละเว็บไซต์ ซึ่งอาจเป็นคนละชุดกัน สำหรับ cPanel ให้ตรวจสอบ PHP รายโดเมนผ่าน MultiPHP Manager และติดตั้งหรืออัปเดตแพ็กเกจผ่าน EasyApache 4 ระบบจัดการแพ็กเกจ หรือช่องทางของผู้จำหน่ายตามประเภทแพ็กเกจ ส่วน Plesk ให้ตรวจสอบเวอร์ชันและ PHP Handler ของแต่ละเว็บไซต์ผ่าน PHP Settings [4][5] การเปลี่ยน PHP ค่าเริ่มต้นของเครื่องอาจไม่เปลี่ยน PHP ของเว็บไซต์เดิมทุกแห่ง จึงต้องตรวจสอบรายเว็บไซต์และทุกเวอร์ชันที่ยังใช้งาน ซอฟต์แวร์หรืออุปกรณ์สำเร็จรูปจากผู้ขาย ตรวจสอบผลิตภัณฑ์ที่มีหน้าเว็บบริหารจัดการหรืออาจมี PHP เป็นส่วนประกอบ โดยแจ้งชื่อผลิตภัณฑ์ รุ่น และเวอร์ชันให้ผู้ผลิตยืนยันผลกระทบ พร้อมขอแพตช์หรือเฟิร์มแวร์ที่เกี่ยวข้อง ใช้วิธีอัปเดตที่ผู้ผลิตรองรับ ไม่ควรนำ PHP รุ่นใหม่ไปแทนที่ไฟล์ภายในผลิตภัณฑ์เองโดยไม่มีคำแนะนำจากผู้ผลิต Container และ Docker Image ตรวจสอบ PHP ภายในคอนเทนเนอร์ที่กำลังทำงาน และอิมเมจที่เตรียมไว้สำหรับนำกลับมาใช้งาน จากนั้นปรับปรุง Base Image หรือแพ็กเกจ สร้างอิมเมจใหม่ ทดสอบ และนำคอนเทนเนอร์จากอิมเมจที่แก้ไขแล้วขึ้นให้บริการ [6] การอัปเดตเครื่องโฮสต์หรือดาวน์โหลดอิมเมจใหม่เพียงอย่างเดียวยังไม่ครอบคลุมคอนเทนเนอร์เดิม หากกำหนด Image Digest ไว้ ต้องปรับให้ชี้ไปยังอิมเมจที่แก้ไขแล้วด้วย

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

ระบบทดสอบ ระบบเก่า และระบบสำรอง ตรวจสอบ Development, UAT, Staging และ DR รวมถึงเครื่องเสมือน อิมเมจต้นแบบ และชุดติดตั้งที่เตรียมนำกลับมาใช้ ให้ปรับปรุงชุดที่พร้อมเปิดบริการและกำหนดขั้นตอนตรวจแพตช์ก่อนนำระบบเก่ากลับมาใช้งาน หากกู้คืนจากข้อมูลสำรองหรือ Snapshot เก่า ให้ ตรวจสอบและแก้ไข PHP ในเครือข่ายที่แยกไว้ ก่อนเชื่อมต่อกลับเข้าเครือข่ายให้บริการ

ระบบที่ผู้ให้บริการภายนอกดูแล ประสานผู้ให้บริการ Shared Hosting, Managed Hosting และผู้รับจ้างดูแลระบบ เพื่อขอผลตรวจสอบ PHP ที่แต่ละเว็บไซต์หรือบริการใช้จริง หลักฐานควรระบุชื่อระบบ เวอร์ชันหรือหมายเลขแพ็กเกจ หมายเลข CVE ที่แก้ไข วันที่ดำเนินการ ผลตรวจสอบหลังอัปเดต และเอกสารของผู้จำหน่ายที่เกี่ยวข้อง คำยืนยันว่า “อัปเดตเว็บไซต์แล้ว” เพียงอย่างเดียวยังไม่เพียงพอ

3. ขั้นตอนตรวจสอบและอัปเดต PHP ตรวจสอบ PHP ให้ตรงกับบริการจริง ใช้ php -v ตรวจสอบเวอร์ชัน และ php –ini ตรวจสอบไฟล์ตั้งค่าได้ แต่ผลเป็นของ PHP ที่คำสั่งนั้นเรียกใช้ ซึ่ง อาจต่างจาก PHP ของเว็บไซต์หรือ PHP-FPM จึงต้องตรวจสอบการตั้งค่าเว็บเซิร์ฟเวอร์ บริการ และ Control Panel ประกอบ [7][8] หากจำเป็นต้องสร้างหน้าตรวจสอบข้อมูล PHP ผ่านเว็บ ให้แสดงข้อมูลเท่าที่จำเป็น จำกัดการเข้าถึงเฉพาะผู้ดูแล และลบออกหลังตรวจสอบ เลือกรุ่นหรือแพ็กเกจที่มีแพตช์ครอบคลุมทั้งสอง CVE รุ่น PHP ที่แก้ไข CVE-2026-109618 และ CVE-2026-109619 ได้แก่ 8.2.35, 8.3.36, 8.4.27 และ 8.5.12 หรือรุ่นใหม่กว่าที่มีแพตช์และยังได้รับการสนับสนุน [1] หากใช้แพ็กเกจจากผู้จำหน่ายระบบปฏิบัติการหรือผู้ให้บริการสนับสนุนระยะยาว ให้ตรวจสอบประกาศและหมายเลขแพ็กเกจ เพราะอาจมีการนำแพตช์กลับมาใช้โดยหมายเลขเวอร์ชัน PHP หลักไม่เปลี่ยน สำหรับ PHP 8.1 หรือต่ำกว่า ให้ตรวจสอบกับผู้จำหน่ายว่ามีแพตช์ครอบคลุมหรือไม่ และวางแผนย้ายไปยังรุ่นที่ยังได้รับการสนับสนุน ไม่ควรถือว่ารุ่นเก่าปลอดภัยเพียงเพราะไม่มีรายการอัปเดต [1] สำรองข้อมูลทดสอบและข้อมูลอัปเดต สำรองฐานข้อมูล ไฟล์แอปพลิเคชัน และไฟล์ตั้งค่า พร้อมเตรียมแผนกู้คืน ทดสอบฟังก์ชันสำคัญและส่วนขยาย โดยเฉพาะเมื่อย้ายข้ามสายเวอร์ชัน แล้วอัปเดตผ่านช่องทางที่ผู้ผลิตหรือผู้ดูแลแพ็กเกจรองรับ เริ่มบริการใหม่และยืนยันผลอัปเดตของ PHP เริ่มบริการ PHP หรือเว็บเซิร์ฟเวอร์ที่เกี่ยวข้องใหม่ตามรูปแบบการติดตั้ง โดยตรวจให้แน่ใจว่ากระบวนการเดิมถูกแทนที่ทั้งหมด สำหรับคอนเทนเนอร์ ให้นำชุดจากอิมเมจที่แก้ไขแล้วขึ้นให้บริการ ตรวจยืนยันผ่านบริการจริงให้ครบทุกเว็บไซต์ ทุกเครื่อง และทุกคอนเทนเนอร์ พร้อมทดสอบการเข้าสู่ระบบ การเชื่อมต่อฐานข้อมูล และฟังก์ชันสำคัญ เก็บหลักฐานสถานะแพตช์ วันที่ดำเนินการ และผู้รับผิดชอบไว้ตรวจสอบย้อนหลัง หากพบสัญญาณผิดปกติ ให้ตรวจสอบร่องรอยการบุกรุกเพิ่มเติม เพราะการอัปเดตไม่ได้ลบมัลแวร์หรือช่องทางเข้าถึงที่ผู้โจมตีอาจติดตั้งไว้ก่อนหน้า

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

การกำหนด memory_limit=-1 ในระดับผู้ดูแลช่วยลดเส้นทางโจมตีที่อาศัยขีดจำกัดหน่วยความจำของ PHP โดยต้องตรวจสอบว่าไม่มีการตั้งค่าใน Pool, Directory หรือแอปพลิเคชันเปลี่ยนกลับไปใช้ค่าจำกัดหน่วยความจำ และเริ่ม PHP workers ใหม่ทั้งหมด [2] ข้อควรระวัง: การตั้งค่านี้เป็นการยกเลิกขีดจำกัดหน่วยความจำต่อคำขอ จึงต้องจำกัดขนาดคำขอที่เว็บเซิร์ฟเวอร์หรือ Reverse Proxy และพิจารณาควบคุมหน่วยความจำด้วย Container หรือ cgroup ตามความเหมาะสม ไม่ควรใช้ RLIMIT_AS หรือ RLIMIT_DATA ทดแทน เนื่องจากอาจกระตุ้นเงื่อนไขที่มีช่องโหว่ ทั้งนี้ มาตรการดังกล่าวยังไม่ป้องกันทุกกรณี [2] มาตรการสำหรับ CVE-2026-109619 กำหนด session.upload_progress.enabled=0 และสำหรับ PHP 8.5 ให้กำหนด fatal_error_backtraces=0 เพิ่มเติม โดยใช้ไฟล์ตั้งค่าที่มีผลก่อนประมวลผลคำขอ และเริ่ม PHP workers ใหม่ทั้งหมด ไม่ควรอาศัยการตั้งค่าผ่าน ini_set() ภายในแอป [3] มาตรการชั่วคราวลดความเสี่ยงได้เฉพาะบางเส้นทางการโจมตี ไม่สามารถทดแทนการอัปเดตได้อย่างสมบูรณ์

5. ข้อควรทราบเพิ่มเติมหลังอัปเดต คำแนะนำเพิ่มเติมสำหรับช่องโหว่ CVE-2026-115560 ประกาศ PHP วันที่ 23 ตุลาคม 2569 แนะนำให้ปิด session.upload_progress.enabled = 0 เพื่อป้องกันเส้นทาง RCE อีกกรณีหนึ่งที่เกี่ยวข้องกับ CVE-2026-115560 ซึ่งเกิดภายใต้เงื่อนไขเฉพาะของการตั้งค่าและการเปลี่ยนวิธีจัดการข้อมูล Session ระหว่างการทำงานของแอปพลิเคชัน [1]

หน่วยงานที่ปิดค่านี้ไว้แล้วควรคงค่าไว้ และติดตามประกาศ PHP ก่อนเปิดกลับ โดยประเด็นนี้เป็นข้อมูลเพิ่มเติมแยกจากสอง CVE หลักข้างต้น

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

แหล่งอ้างอิง [1] https://dg.th/pj91vekmw0 [2] https://dg.th/b41ya7tsqp [3] https://dg.th/bejakg93lh [4] https://dg.th/gshnfzpewr [5] https://dg.th/nvcs0i4kdo [6] https://dg.th/mdoear7nh3 [7] https://dg.th/vdyjgxk72e 2 [8] https://dg.th/sr1k6hji0a

手机左右滑动,电脑按 ← → 键,也能切换新闻