pecl_http สับสนชนิดข้อมูล เสี่ยง PHP ล่ม USN-9055-1
ผู้ดูแลระบบและนักพัฒนาที่ใช้ pecl_http บน Ubuntu 16.04 LTS ควรตรวจสอบและติดตั้งแพตช์โดยเร็ว โดยเฉพาะบริการที่รับข้อมูลจากภายนอก
1-minute summary
- Symptom / problem
- พารามิเตอร์ HTTP ที่สร้างขึ้นเป็นพิเศษอาจทำให้ pecl_http สับสนชนิดข้อมูล ส่งผลให้ PHP ล่มหรืออาจรันโค้ดตามที่ผู้โจมตีต้องการ
- Who should read
- ผู้ดูแลระบบ นักพัฒนา และผู้ใช้โฮสติ้งที่มีแอปพลิเคชันใช้ pecl_http บน Ubuntu 16.04 LTS ต้องตรวจสอบการอัปเดต
- Fix in short
- อัปเดตแพ็กเกจที่ติดตั้งจาก Ubuntu โดยตรวจเทียบแพ็กเกจต้นทาง php-pecl-http กับรุ่นแก้ไข 3.0.1-0ubuntu5+esm1
พอดีไล่ฟีดความปลอดภัยเจอ Ubuntu ออกประกาศ USN-9055-1 เรื่องช่องโหว่ใน pecl_http ส่วนขยายของ PHP ที่เกี่ยวข้องกับการทำงานด้าน HTTP จุดที่ต้องสนใจคือผู้โจมตีจากระยะไกลอาจส่งข้อมูลที่ทำให้ PHP หยุดทำงาน หรืออาจรันโค้ดได้ ขอบเขตการอัปเดตที่ Ubuntu ระบุคือ Ubuntu 16.04 LTS โดยหน้ารายการประกาศทางการลงวันที่ 11 พฤศจิกายน 2026
ใครต้องทำอะไร
- ผู้ดูแลระบบ: หากเครื่อง Ubuntu 16.04 LTS ใช้ pecl_http ให้ตรวจแพ็กเกจและติดตั้งแพตช์โดยเร็ว โดยจัดบริการที่รับข้อมูลภายนอกไว้ก่อน
- นักพัฒนา: หากแอปพลิเคชันพึ่งพา pecl_http ให้ประสานอัปเดตสภาพแวดล้อมที่รัน PHP และทดสอบการใช้งาน HTTP หลังอัปเดตโดยเร็ว
- ผู้ใช้โฮสติ้ง: หากแอปพลิเคชันใช้ pecl_http ให้ถามผู้ให้บริการโดยเร็วว่าเครื่อง Ubuntu 16.04 LTS ได้รับแพตช์ตามประกาศนี้แล้วหรือยัง
เกิดอะไรขึ้น
Ubuntu อธิบายว่า pecl_http จัดการพารามิเตอร์บางแบบของคำขอ HTTP ไม่ถูกต้องจนเกิด type confusion หรือการสับสนชนิดข้อมูล ทำให้โค้ดประมวลผลข้อมูลผิดชนิด ช่องโหว่นี้มีหมายเลข CVE-2016-7398
ประกาศระบุว่า PHP อาจล่มจนบริการใช้งานไม่ได้ หรือ denial of service และอาจรันโค้ดของผู้โจมตีได้ ให้ตรวจว่าแอปโหลด pecl_http และส่งข้อมูลจากภายนอกเข้าสู่ส่วนนี้หรือไม่ การใช้ PHP เพียงอย่างเดียวยังไม่พอจะสรุปว่าได้รับผลกระทบ
รายละเอียดเพิ่มเติมใน หน้า CVE ของ Ubuntu ระบุว่าปัญหาอยู่ในฟังก์ชัน merge_param() ของไฟล์ php_http_params.c กระทบ pecl-http รุ่น 3.1.0beta2 และก่อนหน้าสำหรับ PHP 7 รวมถึง 2.6.0beta2 และก่อนหน้าสำหรับ PHP 5
หน้า CVE เดียวกันแสดงคะแนน CVSS 3 ที่ 9.8 ระดับ Critical ขณะที่ Ubuntu จัดลำดับความสำคัญไว้ที่ Medium ทั้งสองค่าเป็นคนละเกณฑ์ และเป็นข้อมูลเสริมจากหน้า CVE
ใครโดนและรุ่นที่แก้
ประกาศครอบคลุม Ubuntu 16.04 LTS รุ่นแก้ต่อไปนี้ตรงกันทั้งข้อมูล USN ของ Canonical และหน้า CVE ของ Ubuntu
| Ubuntu / แพ็กเกจต้นทาง | รุ่นที่แก้ไข |
|---|---|
Ubuntu 16.04 LTS / php-pecl-http |
3.0.1-0ubuntu5+esm1 |
แพตช์นี้อยู่ในช่องทาง esm-apps-legacy ผ่าน Ubuntu Pro พร้อม Legacy Support add-on หากมี php-pecl-http-dev ให้รับอัปเดตรุ่นเดียวกันด้วย อย่าใช้เลขรุ่น PHP หลักมาตัดสินสถานะของส่วนขยาย ส่วนการติดตั้งจากแหล่งอื่นต้องอัปเดตแยก
ต้องทำอะไร
ตรวจว่าแอปโหลดส่วนขยายนี้หรือไม่ ทั้งในบริการเว็บและงานเบื้องหลัง PHP ในบรรทัดคำสั่งอาจใช้การตั้งค่าต่างจากบริการเว็บ จากนั้นตรวจช่องทางรับแพตช์และอัปเดตแพ็กเกจ Ubuntu ด้วยคำสั่งต่อไปนี้ อ่านรายการเปลี่ยนแปลงก่อนยืนยัน เพราะอาจมีแพ็กเกจอื่นอัปเดตด้วย
sudo apt update
sudo apt upgrade
ถ้าไม่พบอัปเดต ให้ตรวจแหล่งแพ็กเกจและสิทธิ์รับแพตช์ แล้วเทียบรุ่นที่ติดตั้งกับตาราง หลังอัปเดตให้เริ่มบริการ PHP ที่เกี่ยวข้องใหม่ เพื่อโหลดส่วนขยายที่แก้แล้ว จากนั้นทดสอบงาน HTTP ของแอปและตรวจ log ว่ามีข้อผิดพลาดหรือไม่
การอัปเดต dependency ในโครงการอาจไม่ครอบคลุมส่วนขยาย PHP ระดับระบบ ให้ตรวจเครื่องที่รันแอปด้วย
ส่วนตัวผมให้เร่งแพตช์เครื่องที่ใช้ pecl_http รับข้อมูลจากภายนอก เพราะผลกระทบอาจเกินกว่าบริการล่ม ที่มา: USN-9055-1: pecl_http vulnerability (ประกาศ Ubuntu) และ รายการประกาศ Ubuntu หากมีรายละเอียดทางการเพิ่มเติม เดี๋ยวกลับมาแก้เพิ่มให้ภายหลังครับ
Want us to set this up?
Get help with server setup, configuration, migration, or troubleshooting. Save time for the work that matters.
Hit something like this? Stuck somewhere?
Come trade notes on the LinuxThai board



Comments 0
No comments yet — be the first