แพตช์ของ PHP ต้องผ่านอีกหลายทอดกว่าจะถึงเครื่องที่รันเว็บ
browser อัปเดตตัวเองได้ภายในวันเดียว แต่ PHP ต่างออกไป เพราะโครงการ PHP ออกแค่ source code ส่วน PHP ที่เว็บส่วนใหญ่ใช้จริงเป็นตัวที่ Debian, Ubuntu, Red Hat, Docker Hub หรือ ondrej PPA build ให้อีกที รวมถึง image อีกมากที่ build ต่อจาก image ทางการ แพตช์จึงต้องไปถึงคนเหล่านี้ก่อนวันเปิดเผย ทุกเจ้าจะได้มี package พร้อมให้เราอัปเดตในวันเดียวกัน
Volker เล่าว่าทีมทำอะไรเพิ่มจากเขียนแพตช์อีกหลายอย่าง
- ช่วยประสานการ backport ลง PHP เวอร์ชันที่หมดอายุแล้ว ซึ่งออกมาเป็น source backport ของ 7.4, 8.0 และ 8.1
- OpenAI กับ Wiz ช่วยติดต่อผู้ให้บริการ cloud รายใหญ่ที่ทีม PHP ไม่มีช่องทางคุยตรง
- คุยกับผู้ให้บริการ web application firewall อย่าง Cloudflare ให้ออก rule ได้ก่อนวัน release เว็บที่อยู่หลัง WAF และยังอัปเดตไม่ทันจะได้มีอะไรกันไว้ก่อน
บั๊กแบบเดียวกันโผล่หลายจุด ทีมจึงต้องแก้ให้ครบในรอบเดียว
ต้นเรื่องมาจากโครงการ Patch the Planet ของ OpenAI ที่ให้บริษัท security ชื่อ Calif มา audit PHP พอ Calif เจอ ก็ขอนัดคุยกับ Volker แบบด่วน แล้วโชว์ exploit ตัวเล็ก ๆ ที่รันอยู่ใน Docker container ทีม PHP ดูแล้วยืนยันว่าเป็นของจริง หลังจากนั้น OpenAI กับ Wiz ก็รายงานทางโจมตีเพิ่มที่มีต้นเหตุเดียวกัน ลำดับวันที่ทั้งหมดอยู่ในโพสต์ PHP2Shell แพตช์ออกแล้ว
งานหนักอยู่ที่ว่า pattern ของบั๊กนี้อาจอยู่ได้หลายที่ในโค้ด C ของ PHP ทีมต้องตามแก้ให้ครบทุกจุด เพราะถ้าพลาดไปจุดเดียวก็ต้องออก release อีกรอบ Volker ยกเครดิตให้ Ilija, Arnaud และ Jakub ที่นั่งไล่โค้ดกันหลายชั่วโมงต่อวัน ส่วนตัวเขารับงานสื่อสาร ทั้งสามคนเป็นนักพัฒนาที่ PHP Foundation จ้างเต็มเวลา จึงวางงานอื่นมาทำเรื่องนี้ได้ทันที
PoC หลายตัวที่ว่อนอยู่ใช้ได้แค่กับ container ที่ดัดแปลงไว้
ช่วงนั้นมีภาพ exploit แชร์กันใน social media เยอะ Volker บอกว่าหลายตัวใช้ได้แค่กับ Docker container ที่ดัดแปลงไว้เป็นพิเศษ ลองกับ image ทางการจาก Docker Hub แบบค่าเริ่มต้นแล้วใช้ไม่ได้
ฝั่ง Matt Stauffer รวบรวมข่าวไว้ในบทความบน PHP News ว่า Wired รายงานว่ามีคนพยายามโจมตีตั้งแต่ก่อนแพตช์ออก The Guardian นับได้หลายล้านครั้งทั่วโลก ส่วน NBC News รายงานว่าคนโจมตียังทำให้ exploit ใช้ได้จริงไม่ค่อยได้ และทีม security ของ PHP ก็บอกว่าจนถึงวันเปิดเผยยังไม่เจอ exploit ที่ใช้งานได้
Stauffer ย้ำว่าการลองยิงกับการเจาะเครื่องได้เป็นคนละเรื่องกัน ประเด็นเดียวกันนี้เป็นหัวใจของข้อถกเถียงเรื่อง Chainguard ปล่อยแพตช์ก่อนเวลาด้วย แต่เขาก็บอกว่ายังวางใจไม่ได้ ให้แพตช์ restart worker ให้ครบ และอย่าคิดว่าเครื่องปลอดภัยเพียงเพราะยังไม่มีใครยืนยันว่ามี exploit
เรื่อง Chainguard นั้น Volker มองว่าใครก็แปลงแพตช์หรือแม้แต่ไฟล์ binary ให้เป็น exploit ได้เร็วกว่าเดิมมากแล้ว การบอกว่าทำงานด้าน security แต่ปล่อยให้ผู้ใช้ส่วนใหญ่ยังไม่มีอะไรให้อัปเดต จึงอธิบายได้ยาก
ข่าวไปถึงนายกรัฐมนตรีญี่ปุ่นและ NSA
บทความของ Stauffer เล่าว่าสัปดาห์นั้น PHP ขึ้นข่าวกระแสหลักแทบทุกที่
- นายกรัฐมนตรีญี่ปุ่น ทาคาอิจิ ซานาเอะ โพสต์ถึงช่องโหว่นี้ และนายกรัฐมนตรีเนเธอร์แลนด์ก็พูดถึงด้วย
- New York Times รายงานว่าฟินแลนด์ปิดเว็บของรัฐชั่วคราว รัฐบาลอังกฤษกับหลายเมืองในเยอรมนีก็ทำแบบเดียวกัน
- NSA ออกประกาศแนะนำให้แพตช์
- AppleInsider เตือนว่า NAS ที่ใช้ตามบ้านอาจโดนด้วย ส่วน SEPTA ระบบขนส่งของฟิลาเดลเฟีย ต้องปิดระบบติดตามรถแบบ real-time จนกว่าจะแพตช์เสร็จ
- สำนักข่าวหลายแห่งต้องเขียนบทความอธิบายว่า PHP คืออะไร Joe Tidy ผู้สื่อข่าวด้าน cyber ของ BBC พูดออกอากาศว่าเพิ่งรู้ว่ามี PHP เมื่อเช้าวันก่อน และบอกว่า PHP เป็น "one of these things we take for granted"
ตัวเลขที่สำนักข่าวใหญ่ใช้ตรงกันคือ PHP อยู่เบื้องหลังราว 70% ของเว็บทั่วโลก Stauffer ชี้ว่าตัวเลขนี้จาก W3Techs นับเฉพาะเว็บที่รู้ว่าใช้ภาษาอะไรฝั่ง server ไม่ใช่ทุกเว็บ แต่ถึงอย่างนั้นก็ยังเป็นสัดส่วนที่ใหญ่มาก
งานที่ทั้งโลกพึ่งอยู่ในมือคนไม่กี่คน
The Atlantic เขียนถึง Ondřej Surý คนทำ package ของ PHP ที่เซิร์ฟเวอร์จำนวนมากลงไว้ Stauffer มองว่าพาดหัวเกินจริงไปบ้าง แต่ใจความถูก ฝั่ง PHP Foundation เองก็เรียกการที่บั๊กตัวแรกค้างอยู่นานว่าความล้มเหลวเชิงโครงสร้าง ทั้งจากวิธีตัดสินใจของทีม security และจากคนที่ไม่พอ ความเสี่ยงที่งานสำคัญอยู่กับคนไม่กี่คนแบบนี้ (bus factor) เลยเป็นเรื่องที่คนนอกวงการเห็นชัดขึ้นในสัปดาห์เดียว
Volker ปิดท้ายด้วยการชวนบริษัทที่ทำเงินจาก PHP ให้ช่วยสนับสนุน PHP Foundation เขาบอกว่าแค่ส่วนเล็ก ๆ ของรายได้ก็ช่วยได้มาก ส่วนเรื่อง AI ที่มีส่วนทั้งหาบั๊กและคัดรายงานครั้งนี้ เขามองว่าคนที่เก่งใช้ AI เป็นเครื่องมือให้ตัวเองเก่งขึ้น ไม่ได้ส่งการคิดทั้งหมดให้ AI ทำแทน
ประกาศเพิ่มเติมเรื่อง session upload progress ที่ออกวันเดียวกับบทสัมภาษณ์ Volker บอกว่าเงื่อนไขเฉพาะมากและเล็กกว่ามาก ใครที่ตั้งค่าตามประกาศวันที่ 21 ไว้แล้วก็ไม่ต้องทำอะไรเพิ่ม รายละเอียดอยู่ในโพสต์ CVE-2026-115560
บทสัมภาษณ์ฉบับเต็มพร้อมวิดีโอ ดูต่อได้ที่ Laravel News ครับ






