WordPress Security

PHP2Shell คืออะไร? ช่องโหว่ PHP ที่ยึดเว็บได้โดยไม่ต้องล็อกอิน

PHP2Shell คืออะไร? ช่องโหว่ PHP ที่ยึดเว็บได้โดยไม่ต้องล็อกอิน

สรุปคำตอบ

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

PHP2Shell (เขียนว่า php2shell ก็ได้) คือชื่อเรียกช่องโหว่ร้ายแรง 2 รายการในตัวภาษา PHP ได้แก่ CVE-2026-109618 และ CVE-2026-109619 ซึ่งเปิดทางให้ผู้โจมตีส่งคำขอเข้ามาที่เว็บแล้วสั่งรันโค้ดบนเซิร์ฟเวอร์ได้โดยไม่ต้องล็อกอิน ทั้งสองรายการได้คะแนน CVSS v4.0 เท่ากับ 9.2 และกระทบ PHP ตั้งแต่เวอร์ชัน 5.4 ขึ้นมา โครงการ PHP ออกแพตช์เมื่อวันที่ 21 ตุลาคม 2026 (PHP Group)

บทความนี้อธิบายว่า PHP2Shell คืออะไร ทำงานอย่างไรในภาษาที่ไม่ต้องเป็นโปรแกรมเมอร์ก็เข้าใจ ทำไมถึงร้ายแรงกว่าช่องโหว่ทั่วไป และเว็บ WordPress ได้รับผลกระทบอย่างไร ถ้าต้องการขั้นตอนอัปเดตทีละข้อ ไปที่ ช่องโหว่ PHP ล่าสุด 21 ต.ค. 2026: เว็บ WordPress ต้องทำอะไร

สรุปสั้น: PHP2Shell ไม่ใช่ไวรัสหรือมัลแวร์ แต่เป็นช่องโหว่ในตัว PHP ที่ทำให้ผู้โจมตียึดเซิร์ฟเวอร์ได้จากระยะไกลโดยไม่ต้องมีรหัสผ่าน เว็บที่เขียนด้วย PHP รวมถึง WordPress, Drupal, Joomla และ Magento อยู่ในขอบเขตทั้งหมดถ้า PHP ยังไม่ได้แพตช์ มีการโจมตีจริงแล้ว ทางแก้คืออัปเดต PHP เป็น 8.5.12, 8.4.27, 8.3.36 หรือ 8.2.35 ขึ้นไป

PHP2Shell คืออะไร

PHP2Shell เป็นชื่อที่ทีมวิจัยของ Wiz ตั้งให้ช่องโหว่คู่นี้ สื่อความว่าการโจมตีทำให้ได้ “Shell” หรือสิทธิ์สั่งงานบนเซิร์ฟเวอร์ที่รัน PHP (Wikipedia) ผู้รายงานช่องโหว่คือ Ryan Austin นักวิจัยของบริษัท Calif ซึ่งพบระหว่างตรวจซอร์สโค้ดของ PHP ในเดือนสิงหาคม 2026 และทีมวิจัยของ Wiz โดยทั้งสองทีมใช้โมเดล AI ช่วยวิเคราะห์โค้ด

ในประกาศของ PHP ช่องโหว่ทั้งสองมีชื่อทางเทคนิคดังนี้

รหัส ชื่อในประกาศ ประเภท
CVE-2026-109618 RCE via OOM corruption ข้อมูลในหน่วยความจำเสียหายเมื่อหน่วยความจำไม่พอ
CVE-2026-109619 RCE via stale global state ใช้หน่วยความจำที่ถูกคืนไปแล้ว (Use-after-free)

RCE ย่อมาจาก Remote Code Execution คือการที่คนภายนอกสั่งให้เซิร์ฟเวอร์รันโค้ดของตัวเองได้ ซึ่งเป็นผลกระทบระดับรุนแรงที่สุดของช่องโหว่ เพราะเท่ากับยึดเครื่องได้

PHP2Shell ทำงานอย่างไร (อธิบายแบบไม่ใช้ศัพท์โปรแกรมเมอร์)

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

  • CVE-2026-109618 ถ้าหน่วยความจำหมดระหว่างที่ PHP กำลังเตรียมข้อมูลของคำขอ ข้อมูลบางส่วนจะยังเตรียมไม่เสร็จ แต่ขั้นตอนเก็บกวาดกลับใช้ข้อมูลนั้นเหมือนข้อมูลปกติ เปรียบเหมือนพนักงานเก็บโต๊ะที่หยิบจานที่ยังเสิร์ฟไม่เสร็จไปใช้ต่อ ผู้โจมตีจงใจทำให้หน่วยความจำหมดในจังหวะที่ต้องการ เพื่อควบคุมว่าข้อมูลที่ถูกหยิบไปใช้คืออะไร
  • CVE-2026-109619 หลังเกิด Fatal Error ค่าส่วนกลางของ PHP ยังชี้ไปที่หน่วยความจำที่คืนระบบไปแล้ว คำขอถัดไปที่วิ่งเข้า Worker ตัวเดียวกันจึงไปอ่านหรือใช้พื้นที่นั้นต่อ เปรียบเหมือนห้องพักที่เช็กเอาต์แล้วแต่กุญแจเก่ายังเปิดได้ ผู้โจมตีส่งคำขอหลายครั้งต่อกันเพื่อวางข้อมูลของตัวเองไว้ในพื้นที่นั้นก่อน

จุดสำคัญคือการโจมตีบางแบบเกิดขึ้นตั้งแต่ PHP รับคำขอ ก่อน ที่โค้ดของ WordPress หรือปลั๊กอินจะเริ่มทำงาน ปลั๊กอินความปลอดภัยที่ทำงานอยู่ในระดับ WordPress จึงอาจไม่ทันเห็นการโจมตี (watchTowr)

ทำไม PHP2Shell ถึงร้ายแรงกว่าช่องโหว่ทั่วไป

  • ไม่ต้องล็อกอิน ผู้โจมตีไม่ต้องมีบัญชีหรือรหัสผ่านใด ๆ แค่ส่งคำขอ HTTP มาที่เว็บ
  • กระทบวงกว้างมาก PHP เป็นภาษาฝั่งเซิร์ฟเวอร์ของราว 69% ของเว็บไซต์ที่ระบุภาษาได้ ตามข้อมูล W3Techs ที่อ้างใน Wikipedia และ Unit 42 พบเครื่องที่เปิดสู่อินเทอร์เน็ตและอาจมีช่องโหว่กว่า 22.6 ล้านเครื่อง (Unit 42)
  • ซ่อนอยู่นานกว่า 14 ปี เส้นทางโค้ดที่มีปัญหาเก่าที่สุดย้อนไปถึง PHP 5.4.0 ที่ออกในปี 2012 (Tenable) เซิร์ฟเวอร์เก่าที่ไม่มีใครดูแลจึงมีช่องโหว่และไม่มีแพตช์
  • ถูกโจมตีจริงก่อนประกาศ Amazon Threat Intelligence พบความพยายามโจมตีตั้งแต่ 17 ตุลาคม 2026 สี่วันก่อนแพตช์ออก และ CISA ของสหรัฐฯ เพิ่มทั้งสอง CVE เข้ารายการช่องโหว่ที่ถูกโจมตีจริง (KEV) เมื่อ 26 ตุลาคม 2026 (Tenable)
  • ยืนยันแล้วว่าใช้กับ CMS ยอดนิยมได้ Calif ยืนยันการรันโค้ดโดยไม่ต้องล็อกอินบน WordPress, Drupal, Joomla และ Magento บางเวอร์ชัน และ Trail of Bits สาธิตกับ MediaWiki, Symfony, Laravel และ phpBB (Tenable)

นักวิจัยของ Wiz เปรียบความรุนแรงว่าอยู่ระดับเดียวกับ Heartbleed ช่องโหว่ OpenSSL ในปี 2014 และหน่วยงานรัฐหลายประเทศปิดเว็บชั่วคราวระหว่างรออัปเดต (Wikipedia)

เว็บแบบไหนได้รับผลกระทบ

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

PHP เวอร์ชัน สถานะ
8.2 – 8.5 มีช่องโหว่จนกว่าจะอัปเดตเป็น 8.2.35, 8.3.36, 8.4.27 หรือ 8.5.12
7.4 – 8.1 มีช่องโหว่ ไม่มีรุ่นแก้ไขอย่างเป็นทางการ มีเพียงแพตช์ระดับซอร์สโค้ด
5.4 – 7.3 มีช่องโหว่ ไม่มีแพตช์ ต้องย้ายเวอร์ชัน

PHP2Shell ไม่ใช่ช่องโหว่ของ WordPress

ความเข้าใจผิดที่พบบ่อยคือคิดว่าอัปเดต WordPress หรือปลั๊กอินแล้วจะปลอดภัย ช่องโหว่อยู่ในตัว PHP ซึ่งอยู่ชั้นล่างกว่า WordPress ปลั๊กอิน และธีม WordPress.org จึงออกประกาศให้เจ้าของเว็บอัปเดต PHP และสอบถามโฮสติ้ง ไม่ได้ออกเวอร์ชัน WordPress ใหม่เพื่อแก้เรื่องนี้ (WordPress.org)

ต่างจาก ช่องโหว่ WordPress ทั่วไป ที่กว่า 90% อยู่ในปลั๊กอินและแก้ได้ด้วยการกดอัปเดตในหลังบ้าน PHP2Shell ต้องแก้ที่เซิร์ฟเวอร์ ซึ่งบน Shared Hosting เป็นหน้าที่ของผู้ให้บริการ ส่วน VPS เป็นหน้าที่ของคนดูแลเซิร์ฟเวอร์

ป้องกัน PHP2Shell อย่างไร

  1. อัปเดต PHP เป็น 8.5.12, 8.4.27, 8.3.36 หรือ 8.2.35 ขึ้นไป แล้วรีสตาร์ต PHP-FPM หรือ Apache ทุกตัว ทีม PHP ยืนยันว่าเป็นทางแก้ที่สมบูรณ์ทางเดียว
  2. ถามโฮสติ้ง ถ้าใช้ Shared Hosting หรือ Managed Hosting ว่าได้ติดตั้ง Security Release วันที่ 21 ตุลาคม 2026 แล้วหรือยัง
  3. ใช้ WAF เป็นชั้นเสริม Cloudflare เปิดกฎป้องกันให้ทุกแพ็กเกจรวมถึงแบบฟรี แต่ไม่ใช่การแก้ไข (Cloudflare)
  4. ย้ายออกจาก PHP เก่า เว็บที่ยังใช้ PHP 8.1 หรือต่ำกว่าควรย้ายไป 8.2 ขึ้นไป

รายละเอียดเวอร์ชัน มาตรการชั่วคราวสำหรับผู้ดูแลเซิร์ฟเวอร์ และวิธีเช็กใน WordPress อยู่ใน ช่องโหว่ PHP ล่าสุด 21 ต.ค. 2026: เว็บ WordPress ต้องทำอะไร

สัญญาณว่าเว็บอาจถูกเจาะไปแล้ว

เมื่อผู้โจมตีได้สิทธิ์รันโค้ด สิ่งที่มักตามมาคือการวางทางเข้าถาวรไว้ก่อนที่เจ้าของจะแพตช์ อาการที่ควรสงสัยหลังวันที่ 17 ตุลาคม 2026 ได้แก่

  • มีไฟล์ PHP ใหม่ที่ไม่รู้ที่มา โดยเฉพาะใน wp-content/uploads ซึ่งอาจเป็น Web Shell
  • มีบัญชีผู้ดูแลระบบที่ไม่ได้สร้างเอง หรือมีงาน Cron แปลกปลอม
  • CPU สูงค้างทั้งที่ทราฟฟิกเท่าเดิม ซึ่งอาจเป็นโปรแกรม ขุดเหรียญบนเซิร์ฟเวอร์
  • เว็บเด้งไปเว็บอื่น มีลิงก์พนันโผล่ หรือโฮสติ้งแจ้งว่าบัญชีส่งอีเมลสแปม

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

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

PHP2Shell คือไวรัสหรือมัลแวร์ใช่ไหม?

ไม่ใช่ PHP2Shell คือช่องโหว่หรือจุดบกพร่องในตัวภาษา PHP ที่ผู้โจมตีใช้เป็นทางเข้า หลังเจาะเข้ามาได้ ผู้โจมตีอาจติดตั้งมัลแวร์ เช่น Web Shell หรือโปรแกรมขุดเหรียญต่อ

PHP2Shell กับ CVE-2026-109618 และ CVE-2026-109619 ต่างกันอย่างไร?

เป็นเรื่องเดียวกัน PHP2Shell เป็นชื่อเล่นที่ใช้เรียกช่องโหว่สองรายการนี้รวมกัน ส่วน CVE คือรหัสอ้างอิงทางการของแต่ละรายการ

เว็บ WordPress ทุกเว็บโดน PHP2Shell หรือไม่?

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

รู้ได้อย่างไรว่าเว็บของเรามีช่องโหว่ PHP2Shell?

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

ทำไมคนค้นหา php2shell กันเยอะช่วงนี้?

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

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

  1. The PHP Group. (2026). Security advisory: Critical remote code execution vulnerabilities, update now. สืบค้นเมื่อ 28 ตุลาคม 2026, จาก https://www.php.net/archive/2026.php#2026-10-21-5
  2. WordPress.org. (2026). Critical PHP Security Release. สืบค้นเมื่อ 28 ตุลาคม 2026, จาก https://wordpress.org/news/2026/10/critical-php-security-release/
  3. Tenable. (2026). php2shell (CVE-2026-109618, CVE-2026-109619): Frequently Asked Questions About Critical PHP Remote Code Execution Vulnerabilities. สืบค้นเมื่อ 28 ตุลาคม 2026, จาก https://www.tenable.com/blog/php2shell-cve-2026-109618-cve-2026-109619-frequently-asked-questions-about-critical-php-remote
  4. Palo Alto Networks Unit 42. (2026). Threat Brief: Critical Vulnerabilities in PHP: CVE-2026-109618, CVE-2026-109619. สืบค้นเมื่อ 28 ตุลาคม 2026, จาก https://unit42.paloaltonetworks.com/cve-2026-109618-cve-2026-109619/
  5. watchTowr. (2026). PHP2Shell FAQ: CVE-2026-109618 & CVE-2026-109619. สืบค้นเมื่อ 28 ตุลาคม 2026, จาก https://watchtowr.com/intelligence/php-cve-2026-109618-faq/
  6. Cloudflare. (2026). Cloudflare deploys protections against php2shell vulnerability. สืบค้นเมื่อ 28 ตุลาคม 2026, จาก https://blog.cloudflare.com/php-vulnerabilities-waf-protection/
  7. Wikipedia. (2026). PHP2Shell. สืบค้นเมื่อ 28 ตุลาคม 2026, จาก https://en.wikipedia.org/wiki/PHP2Shell
อ่านบทความหลักของหมวดนี้ วิธีป้องกันเว็บ WordPress โดนแฮก: Checklist ที่ทำได้ทันที

บทความอื่นในหมวดนี้

LINE ส่งปัญหา