ต้องการคุยกับผู้ช่วยเหลือ
ไหมคะ 😊
  1. หน้าแรก
  2. ความปลอดภัยเว็บและแอป
  3. PHP2Shell
ระดับวิกฤต · CVSS 9.2 คู่มือเทคนิค อ่าน 8 นาที

PHP2Shell คืออะไร? วิธีตรวจและแก้ช่องโหว่ CVE-2026-109618 / CVE-2026-109619

ทีมวิศวกร Gramick House เผยแพร่ อัปเดตล่าสุด

PHP2Shell คือชื่อเรียกช่องโหว่ความปลอดภัยระดับวิกฤต (Critical) ในตัว PHP Runtime 2 รายการ ได้แก่ CVE-2026-109618 และ CVE-2026-109619 ซึ่งเปิดโอกาสให้ผู้โจมตีสั่งรันโค้ดบนเซิร์ฟเวอร์จากระยะไกลได้โดยไม่ต้องล็อกอิน (Unauthenticated Remote Code Execution: RCE) กระทบ PHP ตั้งแต่รุ่น 5.4 ถึง 8.5 ที่ให้บริการหน้าเว็บ ทีม PHP ออกแพตช์เมื่อ 21 ตุลาคม 2569 ในรุ่น 8.5.12, 8.4.27, 8.3.36 และ 8.2.35

ความรุนแรง
CVSS v4.0 9.2 (วิกฤต)
ต้องล็อกอินไหม
ไม่ต้อง
รุ่นที่ได้รับผลกระทบ
PHP 5.4 – 8.5
รุ่นที่แก้แล้ว
8.5.12 · 8.4.27 · 8.3.36 · 8.2.35

01PHP2Shell คืออะไร

PHP2Shell ไม่ใช่ช่องโหว่ของ WordPress หรือปลั๊กอินตัวใดตัวหนึ่ง แต่เป็นช่องโหว่ใน ตัว PHP เอง ซึ่งเป็นภาษาที่เว็บไซต์ราว 69% ของโลกใช้อยู่ ผู้โจมตีส่งคำขอ (HTTP request) ที่สร้างขึ้นมาเป็นพิเศษไปยังเว็บ แล้วสั่งรันโค้ดบนเซิร์ฟเวอร์ได้ด้วยสิทธิ์ของโปรเซสที่รันเว็บ โดยไม่ต้องมีบัญชีหรือรหัสผ่าน

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

CVE-2026-109618

หน่วยความจำเสียหายหลัง out-of-memory

เมื่อการจัดการกรณีหน่วยความจำเต็ม (out-of-memory) ถูกขัดจังหวะ ข้อมูลของคำขอจะค้างอยู่ครึ่ง ๆ กลาง ๆ และขั้นตอนเก็บกวาดของ PHP กลับเชื่อว่าข้อมูลนั้นถูกต้อง นำไปสู่การรันโค้ดด้วยสิทธิ์ของ web worker

CVSS v4.0 9.2
CVE-2026-109619

สถานะภายในค้างข้ามคำขอ (stale global state)

สถานะภายในที่ผูกกับคำขอหนึ่งยังค้างอยู่หลังหน่วยความจำถูกคืนไปแล้ว คำขอถัดไปบน worker เดียวกันใช้มันก่อนถูกรีเซ็ต ทำให้เกิด use-after-free อ่านข้อมูลในหน่วยความจำได้ และรันโค้ดได้

CVSS v4.0 9.2
ทีม PHP ให้คะแนน CVSS v4.0 ที่ 9.2 ส่วน watchTowr บริษัทความปลอดภัยที่ติดตามเรื่องนี้ให้คะแนนเต็ม 10.0 ผู้ค้นพบคือ Calif (ในโครงการ Patch the Planet ของ OpenAI) และ Wiz ซึ่งค้นพบแยกกันโดยใช้ AI ช่วยวิเคราะห์

02ไทม์ไลน์

  1. Calif และ Wiz พบช่องโหว่แยกกัน และแจ้งทีม PHP

  2. Amazon Threat Intelligence พบความพยายามโจมตีใน honeypot (MadPot) ก่อนประกาศ 4 วัน

  3. ทีม PHP แจ้งล่วงหน้าให้ผู้ดูแลระบบเตรียมอัปเดตฉุกเฉิน และมีรายละเอียดบางส่วนรั่วออกมาก่อนกำหนด

  4. ทีม PHP ออก 8.5.12 / 8.4.27 / 8.3.36 / 8.2.35 พร้อมแพตช์ระดับซอร์สสำหรับ 7.4, 8.0 และ 8.1 · CISA ออกประกาศให้อัปเดตทันที · Cloudflare เปิด WAF rules ชั่วคราวให้ทุกแพ็กเกจ · watchTowr รายงานว่าพบการโจมตีใน honeypot

  5. ผู้ผลิตอุปกรณ์ที่ฝัง PHP ไว้ภายในเริ่มประกาศผลกระทบ เช่น Palo Alto Networks ยืนยันว่า PAN-OS ได้รับผลกระทบ

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

ทีม PHP ระบุว่า ทุกการติดตั้ง PHP ที่ให้บริการหน้าเว็บ ได้รับผลกระทบ ไม่ว่าจะใช้วิธีรันแบบใด แต่ระดับความเสี่ยงต่างกัน

วิธีรัน PHP (SAPI)สถานะหมายเหตุ
Apache + mod_phpเสี่ยงสูงสุดมีวิธีโจมตีที่ยืนยันแล้ว คำขอเดียวที่ไม่ต้องล็อกอินก็โจมตีได้ก่อนโค้ดของเว็บเริ่มทำงาน
PHP-FPM (Nginx / Apache)ได้รับผลกระทบใช้กันมากที่สุดบน VPS และคลาวด์ ประกาศของ PHP ระบุว่าวิเคราะห์ซอร์สแล้วเข้าข่าย แม้ยังไม่มีการสาธิตการโจมตีเต็มรูปแบบบน FPM สำหรับ CVE-2026-109618
php-cgi, FrankenPHP, LiteSpeedได้รับผลกระทบรวมถึงโฮสติ้งแบบแชร์ที่ใช้ LiteSpeed
PHP ที่ฝังในซอฟต์แวร์อื่นตรวจกับผู้ผลิตcPanel, Plesk, อุปกรณ์เครือข่าย และ Docker image ที่มี PHP อยู่ข้างใน

เส้นทางโจมตีหลักที่ JFrog วิเคราะห์ไว้ต้องอาศัยการตั้งค่า session.upload_progress.enabled=On ซึ่งเป็น ค่าเริ่มต้นของ PHP เว็บส่วนใหญ่จึงเข้าข่ายโดยไม่รู้ตัว

อย่าลืมระบบที่ไม่ได้อยู่ในสายตา เช่น เว็บแคมเปญเก่า ระบบหลังบ้านภายใน phpMyAdmin หรือเซิร์ฟเวอร์ทดสอบที่ยังเปิดสู่อินเทอร์เน็ต CISA แนะนำให้ทำรายการ PHP ทุกตัวในองค์กร รวมถึงที่ฝังอยู่ในซอฟต์แวร์อื่น

04รุ่นที่แก้แล้ว

สายรุ่นได้รับผลกระทบรุ่นที่แก้แล้วหมายเหตุ
PHP 8.5ก่อน 8.5.128.5.12ปิด fatal_error_backtraces ได้เป็นมาตรการเสริม
PHP 8.4ก่อน 8.4.278.4.27
PHP 8.3ก่อน 8.3.368.3.36
PHP 8.2ก่อน 8.2.358.2.35
PHP 7.4 / 8.0 / 8.1ได้รับผลกระทบไม่มีรุ่นสำเร็จรูปมีแพตช์ระดับซอร์สแบบลดความเสี่ยงขั้นต่ำ ในสาขา PHP-7.4-CVE-2026-109618-109619 (และ 8.0, 8.1) บน GitHub ต้องคอมไพล์เอง หรือใช้แพ็กเกจจาก distro / ผู้ให้บริการ LTS
PHP 5.x (รวม 5.6)ให้ถือว่าได้รับผลกระทบไม่มีประกาศทางการไม่ได้ระบุว่า 5.x ได้รับผลกระทบหรือไม่ และ 5.6 หมดการดูแลตั้งแต่สิ้นปี 2018 มีช่องโหว่สะสมที่ไม่ได้แก้อยู่แล้ว ต้องย้ายรุ่น
สำคัญ: ถ้าใช้ PHP จากแพ็กเกจของ Linux distro (Ubuntu, Debian, AlmaLinux, Red Hat) เลขรุ่นที่ php -v แสดงอาจ ไม่เปลี่ยน แม้ได้รับแพตช์แล้ว เพราะ distro นำการแก้ไขไปใส่ในรุ่นเดิม (backport) ให้เช็คเลขรุ่นของแพ็กเกจแทน ตามขั้นตอนในหัวข้อถัดไป

05วิธีเช็คว่าเซิร์ฟเวอร์เสี่ยงไหม

1. ดูรุ่น PHP

Terminal
php -v

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

2. เช็คเลขแพ็กเกจ (ถ้าใช้ PHP จาก distro)

Ubuntu / Debian
dpkg -l | grep -E '^ii\s+php[0-9.]*-(common|fpm|cli)'
AlmaLinux / Rocky / RHEL
rpm -q php-common
dnf module list php   # สายรุ่นที่เปิดใช้อยู่จะมีเครื่องหมาย [e]

นำเลขที่ได้ไปเทียบกับประกาศความปลอดภัยของ distro นั้น เช่น Ubuntu Security Notices, Debian Security Tracker หรือบล็อกของ AlmaLinux

3. ดูว่าใช้ mod_php หรือไม่

Ubuntu / Debian
apache2ctl -M 2>/dev/null | grep -E 'mpm_|php'
AlmaLinux / RHEL
httpd -M 2>/dev/null | grep -E 'mpm_|php'

ถ้าผลลัพธ์มี php_module หรือ php7_module แปลว่าใช้ mod_php ซึ่งเสี่ยงที่สุด ควรอัปเดตเป็นลำดับแรก

4. ดูค่า session.upload_progress

Terminal
php -i | grep session.upload_progress.enabled

ค่าจาก CLI อาจต่างจาก PHP-FPM ให้ดูไฟล์ตั้งค่าของ FPM ด้วย (เช่น /etc/php/8.3/fpm/php.ini หรือไฟล์ pool)

06วิธีอัปเดตแต่ละระบบ

สำรองไฟล์เว็บและฐานข้อมูลก่อนอัปเดตทุกครั้ง และทำบนเครื่องทดสอบก่อนถ้าทำได้

Ubuntu / Debian

Terminal
sudo apt update
sudo apt upgrade
# รีสตาร์ตตามที่ใช้ (เปลี่ยน 8.3 เป็นรุ่นของคุณ)
sudo systemctl restart php8.3-fpm
sudo systemctl restart apache2

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

AlmaLinux / Rocky / RHEL

Terminal
sudo dnf clean metadata && sudo dnf upgrade 'php*'
sudo systemctl restart php-fpm
# ถ้าใช้ mod_php (AlmaLinux 8) ให้รีสตาร์ต Apache แทน
sudo systemctl restart httpd
rpm -q php-common   # ยืนยันเลขแพ็กเกจที่แก้แล้ว

AlmaLinux ออกแพ็กเกจแก้ไขให้ทุกสายรุ่นที่เคยออก รวมถึงสายที่หมดอายุแล้ว เช่น php:7.4 และ php:8.1 แต่ไม่รับประกันการแก้ไขครั้งต่อไปของสายที่หมดอายุ

cPanel, Plesk, aaPanel และแผงควบคุมอื่น

PHP ที่ติดตั้งผ่านแผงควบคุม (เช่น EasyApache ของ cPanel) ได้รับแพตช์จากผู้ผลิตแผงควบคุม ไม่ใช่จาก distro ให้อัปเดตผ่านแผงควบคุม แล้วเช็ครุ่นของทุก PHP ที่เปิดใช้งาน ถ้าเป็นโฮสติ้งแบบแชร์ ให้สอบถามผู้ให้บริการว่าอัปเดตแพตช์ PHP2Shell แล้วหรือยัง

Docker และ Kubernetes

Terminal
# สร้าง image ใหม่โดยดึง base image ล่าสุด แล้วยืนยันรุ่น
docker build --pull -t my-app:patched .
docker run --rm my-app:patched php -v

การรีสตาร์ต container เดิมไม่ได้อัปเดต PHP ต้องสร้าง image ใหม่จาก base image ที่แก้แล้ว และ deploy ใหม่ทุกตัว

PHP รุ่นเก่า (8.1 ลงไป)

รุ่นสถานะ
7.4 / 8.0 / 8.1ทีม PHP แยกแพตช์ระดับซอร์สไว้ในสาขา PHP-7.4-CVE-2026-109618-109619 และสาขาเดียวกันของ 8.0, 8.1 บน GitHub ของ php-src (ข้อความ commit ระบุว่าเป็น "minimal mitigation for EOL version") แปลว่ากลุ่มนี้ ได้รับผลกระทบ ต้องคอมไพล์ PHP เองจากซอร์สที่ใส่แพตช์แล้ว หรือใช้แพ็กเกจจาก distro หรือผู้ให้บริการ LTS ซึ่งบางรายเสียเงิน
5.6 และ 5.xไม่มีแพตช์ใด ๆ ประกาศทางการไม่ได้บอกว่า 5.x ได้รับผลกระทบหรือไม่ แต่ควร ถือว่าได้รับผลกระทบไว้ก่อน อีกทั้ง 5.6 หมดการดูแลตั้งแต่สิ้นปี 2018 และมีช่องโหว่สะสมที่ไม่ได้แก้อยู่แล้ว

ถ้ายังย้ายรุ่นไม่ได้ทันที ควรทำครบชุดนี้

  1. 7.4–8.1: ใช้แพตช์จากสาขาด้านบน หรือแพ็กเกจที่ distro / ผู้ให้บริการ LTS แก้ให้ ข้อนี้สำคัญที่สุด
  2. 5.x: ไม่มีแพตช์ให้ใช้ ข้ามไปข้อ 3–5 และเร่งแผนย้ายรุ่น
  3. ตั้งมาตรการชั่วคราวทุกข้อ ในหัวข้อถัดไป ได้แก่ session.upload_progress.enabled=0, memory_limit=-1 แบบบังคับ, post_max_size ต่ำ และบล็อกคำขอ multipart ที่ frontend ถ้าเว็บไม่มีฟอร์มอัปโหลด แล้วรีสตาร์ตทุก worker
  4. เปิด WAF เช่น Cloudflare ซึ่งมี rules สำหรับ PHP2Shell ทุกแพ็กเกจ
  5. จำกัดการเข้าถึง ถ้าเป็นระบบภายใน ให้เปิดเฉพาะ IP หรือ VPN ขององค์กร ถ้าทำไม่ได้ CISA และ NCSC ของอังกฤษแนะนำให้ ปิดระบบไว้ก่อน
  6. วางแผนย้ายไป PHP 8.3 ขึ้นไป ซึ่งมักต้องแก้โค้ดที่ใช้ฟังก์ชันที่ถูกตัดออก เช่น mysql_*, each() และ create_function()

07มาตรการชั่วคราว ระหว่างรออัปเดต

ทีม PHP ยืนยันว่า ไม่มีมาตรการใดกันได้ครบ การอัปเดตคือทางเดียวที่ถาวร มาตรการด้านล่างใช้เพื่อลดความเสี่ยงในช่วงสั้น ๆ เท่านั้น

มาตรการช่วยได้แค่ไหนข้อควรรู้
Cloudflare WAF rulesบางส่วนเปิดให้ทุกแพ็กเกจรวมแพ็กเกจฟรี กันวิธีโจมตีที่รู้จักแล้ว Cloudflare ระบุว่าเป็นการป้องกันชั่วคราว
session.upload_progress.enabled=0บางส่วนปิดเส้นทางหลักของ CVE-2026-109619 แต่ไม่ครอบคลุมส่วนของ OPcache และ backtrace ต้องรีสตาร์ตทุก worker
fatal_error_backtraces=0 (PHP 8.5)บางส่วนปิดเฉพาะเส้นทาง fatal backtrace ที่ยืนยันแล้ว
memory_limit=-1 + post_max_size ต่ำบางส่วนสำหรับ CVE-2026-109618 ตั้งผ่าน php_admin_value ให้แอปแก้ทับไม่ได้ ใช้ post_max_size 8M ถ้าไม่รับอัปโหลด หรือ 32M ถ้ารับ และจำกัดหน่วยความจำด้วย container หรือ cgroup แทน
บล็อกคำขอ multipart ที่ frontendบางส่วนประกาศของ PHP แนะนำสำหรับเว็บที่ไม่ใช้ฟอร์มอัปโหลด และให้จำกัดขนาดคำขอ จำนวน input จำนวน part และ header ต่อ part ที่ frontend ด้วย
pm.max_requests=1 (PHP-FPM)บางส่วนทำให้แต่ละ worker รับแค่คำขอเดียว ตัดเงื่อนไขการโจมตีที่ต้องใช้ worker ซ้ำ แต่เว็บจะช้าลงชัดเจน
ซ่อน error (display_errors, error_reporting, @)ไม่ช่วยการซ่อนข้อความ error ไม่ได้ปิดเส้นทางโจมตี
ปิดระบบไว้ก่อนได้ผลCISA และ NCSC แนะนำสำหรับระบบที่อัปเดตไม่ได้ทันที หรือยังใช้ PHP 8.1 และเก่ากว่า

08เช็คว่าถูกเจาะไปแล้วหรือยัง

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

  • โปรเซสของ PHP เปิด shell หรือดาวน์โหลดเครื่องมือ เช่น php-fpm หรือ apache เป็นตัวเริ่ม sh, bash, curl, wget (CISA ระบุสัญญาณนี้ไว้)
  • ไฟล์ PHP ใหม่ที่ไม่ได้สร้างเอง โดยเฉพาะในโฟลเดอร์อัปโหลด หรือไฟล์ที่ชื่อดูไม่เกี่ยวกับเว็บ
  • cron job ของผู้ใช้ที่รันเว็บ (เช่น www-data, apache, nginx) ที่ไม่ได้ตั้งไว้
  • การเชื่อมต่อออกไปภายนอกที่ผิดปกติ หรือ CPU สูงผิดปกติ
Terminal · ตัวอย่างการตรวจเบื้องต้น
# ไฟล์ .php ที่ถูกแก้ไขใน 7 วันที่ผ่านมา (เปลี่ยน /var/www เป็นโฟลเดอร์เว็บของคุณ)
find /var/www -name '*.php' -mtime -7 -printf '%TY-%Tm-%Td %TH:%TM  %p\n' | sort

# cron ของผู้ใช้ที่รันเว็บ
sudo crontab -u www-data -l

# โปรเซสลูกของ php-fpm / apache
ps -eo pid,ppid,user,cmd --forest | grep -E -A3 'php-fpm|apache2|httpd' | grep -E 'sh |bash|curl|wget'
ถ้าพบสิ่งผิดปกติ: อย่าเพิ่งลบไฟล์ แยกเครื่องออกจากเครือข่าย สำรองสภาพปัจจุบันไว้เป็นหลักฐาน เปลี่ยนรหัสผ่านฐานข้อมูลและ API key ที่อยู่บนเซิร์ฟเวอร์ (เช่นในไฟล์ .env หรือ wp-config.php) แล้วกู้จากไฟล์สำรองที่สะอาด หรือติดต่อผู้เชี่ยวชาญ
ระวัง PoC ปลอม: JFrog พบว่าโค้ดทดสอบช่องโหว่ (PoC) บางชุดบน GitHub แฝงโค้ดที่ทำงานกับเครื่องของคนที่รัน อย่ารันโค้ดจากแหล่งที่ไม่น่าเชื่อถือเพื่อ "ทดสอบ" เซิร์ฟเวอร์ ให้เช็คจากเลขรุ่นและการตั้งค่าแทน

09คำถามที่พบบ่อย

PHP2Shell คือชื่อเรียกช่องโหว่ความปลอดภัยระดับวิกฤต (Critical) ในตัว PHP Runtime 2 รายการ ได้แก่ CVE-2026-109618 และ CVE-2026-109619 ซึ่งเปิดโอกาสให้ผู้โจมตีสั่งรันโค้ดบนเซิร์ฟเวอร์จากระยะไกลได้โดยไม่ต้องล็อกอิน (Unauthenticated Remote Code Execution: RCE) กระทบ PHP ตั้งแต่รุ่น 5.4 ถึง 8.5 ที่ให้บริการหน้าเว็บ ทีม PHP ออกแพตช์เมื่อ 21 ตุลาคม 2569 ในรุ่น 8.5.12, 8.4.27, 8.3.36 และ 8.2.35

ได้รับผลกระทบ เพราะ WordPress ทำงานบน PHP และช่องโหว่อยู่ในตัว PHP ไม่ได้อยู่ใน WordPress หรือปลั๊กอิน การอัปเดต WordPress อย่างเดียวจึงไม่พอ ต้องอัปเดต PHP บนเซิร์ฟเวอร์ให้เป็นรุ่นที่แก้แล้ว ใช้ได้กับ Drupal, Joomla, Laravel, CodeIgniter และเว็บที่เขียนด้วย PHP ทุกแบบ

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

ไม่จำเป็น ถ้าใช้ PHP จากแพ็กเกจของ Linux เช่น Ubuntu, Debian, AlmaLinux หรือ Red Hat ผู้ดูแล distro มักนำแพตช์ไปใส่ในรุ่นเดิม (backport) โดยไม่เปลี่ยนเลขรุ่นของ PHP ให้เช็คเลขรุ่นของแพ็กเกจด้วย dpkg หรือ rpm แล้วเทียบกับประกาศความปลอดภัยของ distro นั้นแทน

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

PHP 7.4, 8.0 และ 8.1 ได้รับผลกระทบ ทีม PHP ไม่ออกรุ่นสำเร็จรูปให้ แต่มีแพตช์ระดับซอร์สแบบลดความเสี่ยงขั้นต่ำ (minimal mitigation) ในสาขา PHP-7.4-CVE-2026-109618-109619 และสาขาเดียวกันของ 8.0 และ 8.1 บน GitHub ของ php-src ต้องคอมไพล์ PHP เอง หรือใช้แพ็กเกจจาก distro หรือผู้ให้บริการ LTS ซึ่งบางรายเป็นบริการแบบเสียเงิน ส่วน PHP 5.x ไม่มีแพตช์ใด ๆ และประกาศทางการไม่ได้ระบุว่าได้รับผลกระทบหรือไม่ จึงควรถือว่าได้รับผลกระทบไว้ก่อน อีกทั้ง PHP 5.6 หมดการดูแลตั้งแต่สิ้นปี 2018 และมีช่องโหว่สะสมที่ไม่ได้แก้อยู่แล้ว ทางที่ปลอดภัยระยะยาวคือย้ายไป PHP 8.3 ขึ้นไป ถ้ายังแก้ไม่ได้ทันที CISA และ NCSC ของอังกฤษแนะนำให้ปิดระบบนั้นไว้ก่อน

รีสตาร์ต PHP-FPM หรือ Apache ทุก worker เพื่อให้ใช้รุ่นใหม่จริง เช็คเลขรุ่นอีกครั้ง แล้วตรวจว่าเซิร์ฟเวอร์ถูกเจาะไปก่อนแพตช์หรือไม่ เพราะการอัปเดตไม่ได้ลบ backdoor ที่ถูกฝังไว้แล้ว ถ้าพบสิ่งผิดปกติ ให้เปลี่ยนรหัสผ่านฐานข้อมูลและ API key ที่อยู่บนเซิร์ฟเวอร์ และกู้จากไฟล์สำรองที่สะอาด

มีรายงานแล้ว Amazon Threat Intelligence พบความพยายามโจมตีใน honeypot ตั้งแต่ 17 ต.ค. 2569 ก่อนประกาศ 4 วัน Cloudflare รายงานว่าเห็นการโจมตีช่วงแรกก่อนแพตช์ออก และ watchTowr รายงานว่าพบการโจมตีใน honeypot เมื่อ 21 ต.ค. ส่วน CISA ระบุว่ายังไม่พบการโจมตี ณ เวลาที่ออกประกาศวันที่ 21 ต.ค. จึงควรถือว่ามีความเสี่ยงสูงและอัปเดตทันที

10แหล่งอ้างอิง

  1. CISA: Critical Vulnerabilities in PHP Require Immediate Patching (21 ต.ค. 2569)
  2. PHP Security Advisory GHSA-w8hw-w9fx-j79w (CVE-2026-109618): RCE via OOM corruption
  3. PHP Security Advisory GHSA-6wmf-4rv5-p3rp (CVE-2026-109619): RCE via stale global state
  4. php-src: สาขาแพตช์ชั่วคราวสำหรับรุ่นหมดอายุ PHP-7.4 / 8.0 / 8.1-CVE-2026-109618-109619
  5. PHP: เว็บไซต์ทางการและประกาศรุ่นใหม่
  6. JFrog Security Research: PHP2Shell — All You Need to Know
  7. BleepingComputer: PHP ships emergency patches for critical PHP2Shell flaws
  8. Help Net Security: PHP2Shell — Critical PHP vulnerabilities patched
  9. AlmaLinux: Patched PHP packages released
  10. Wikipedia: PHP2Shell

ข้อมูลในคู่มือนี้รวบรวมจากประกาศของ PHP, CISA, ผู้ผลิต distro และบริษัทความปลอดภัย ณ 22 ต.ค. 2569 เวลา 18:45 น. สถานการณ์อาจเปลี่ยนแปลง โปรดตรวจประกาศล่าสุดของผู้ผลิตซอฟต์แวร์ที่คุณใช้ก่อนดำเนินการ คู่มือนี้ไม่มีรายละเอียดวิธีโจมตี