สรุปสั้น

APT คือ ตัวจัดการแพ็กเกจของ Debian, Ubuntu และ distro ที่สร้างต่อจากสองตัวนี้ ทำหน้าที่ดาวน์โหลด ตรวจลายเซ็น และติดตั้งซอฟต์แวร์ด้วยสิทธิ์ root เมื่อวันที่ 4 พฤศจิกายน 2569 Debian, Ubuntu และทีมผู้พัฒนา APT ออกประกาศพร้อมกันเรื่องช่องโหว่ CVE-2026-109518 ที่ให้ผู้โจมตีซึ่งแก้ไขทราฟฟิกระหว่างเครื่องกับเซิร์ฟเวอร์แพ็กเกจได้ สลับแพ็กเกจที่ APT ตรวจแล้วเป็นของตัวเอง โค้ดของผู้โจมตีจะรันด้วยสิทธิ์ root ตอนติดตั้งแพ็กเกจ วิธีที่ใช้ คือ ส่ง HTTP redirect และข้อผิดพลาดชั่วคราวของเซิร์ฟเวอร์เพื่อบังคับให้ APT ดาวน์โหลดซ้ำ ผู้พัฒนา APT จัดช่องโหว่นี้ไว้ระดับวิกฤต ส่วน Ubuntu ให้ CVSS 4.0 ที่ 7.7

เงื่อนไขสำคัญ คือ APT ต้องตั้งให้ดาวน์โหลดซ้ำเมื่อล้มเหลว ซึ่งเป็นค่าเริ่มต้นตั้งแต่ Debian 12 และ Ubuntu 22.04 ส่วนรุ่นเก่ากว่าอาจเปิดไว้เองผ่านสคริปต์ ผู้ที่อยู่ตรงกลางได้ เช่น mirror หรือ proxy ประสงค์ร้าย ก็เป็นผู้โจมตีได้ ช่องโหว่นี้ทำลายสมมติฐานพื้นฐานที่ว่าลายเซ็นแพ็กเกจป้องกันการปลอมได้ ยังไม่มีรายงานการโจมตีจริงและไม่มีวิธีบรรเทาทางการ ผู้ดูแลจึงควรอัปเดต APT ทันทีที่ distro ของตัวเองออกแพ็กเกจ

รายละเอียดข่าว

เว็บไซต์ The Hacker News รายงานเมื่อวันที่ 4 พฤศจิกายน 2569 ว่า Debian ออกเวอร์ชัน APT ที่แก้ไขแล้ว ขณะที่ทีมผู้พัฒนา APT ระบุว่าอัปเดตสำหรับ Ubuntu และบริการ Ubuntu Pro กำลังทยอยออก ผู้ใช้ Ubuntu 14.04 ที่มี Ubuntu Pro ได้รับแล้ว Ubuntu นำ APT ที่แก้แล้วขึ้น security archive เมื่อเวลา 14:25 UTC สำหรับ 4 รุ่น ได้แก่ Ubuntu 26.10 (3.3.3ubuntu0.1), 26.04 LTS (3.2.1ubuntu0.1), 24.04 LTS (2.8.4ubuntu0.1) และ 22.04 LTS (2.4.15ubuntu0.1) แต่ ณ 15:46 UTC หน้าติดตามของ Ubuntu ยังขึ้นสถานะเสี่ยงทั้ง 8 รุ่นตั้งแต่ 14.04 ถึง 26.10

ฝั่ง Debian สาขา testing ยังใช้ APT 3.3.5 ที่มีช่องโหว่อยู่ ณ 14:58 UTC ส่วน Debian 11 ที่การสนับสนุนระยะยาวสิ้นสุดเมื่อ 31 สิงหาคม ผู้พัฒนา APT ออกเวอร์ชัน 2.2.5 ที่แก้แล้วให้ Ubuntu ระบุว่า Debian 11 และ Ubuntu 20.04 ไม่เสี่ยงในค่าเริ่มต้น แต่ผู้พัฒนา APT เตือนว่าสคริปต์ของผู้ใช้จำนวนมากเปิดค่า Acquire::Retries ไว้เองอยู่แล้ว Ubuntu ยังระบุว่า distro ที่สร้างจาก Debian และ Ubuntu ก็กระทบด้วย แต่ไม่ได้ระบุชื่อ ผู้รายงานช่องโหว่ คือ นาย Max Justicz

ข้อจำกัดของข้อมูลมี 3 ข้อ:

  • ไม่มีรายงานการโจมตีจริง — ประกาศทั้งสามฉบับไม่ได้กล่าวถึงการโจมตีที่ใช้ช่องโหว่นี้
  • ไม่มีวิธีบรรเทาทางการ — ไม่มีคำแนะนำสำหรับเครื่องที่ยังอัปเดตไม่ได้
  • ยังไม่ชัดเรื่อง HTTPS — ประกาศอธิบายการโจมตีผ่าน HTTP และไม่ได้บอกว่าแหล่งแพ็กเกจที่ใช้ HTTPS เสี่ยงด้วยหรือไม่

รายละเอียดช่องโหว่

ลายเซ็นตรวจแล้ว แต่ไฟล์ถูกสลับทีหลัง — APT ตรวจความถูกต้องของแพ็กเกจจากรายการ hash ที่มีลายเซ็นของ distro ช่องโหว่นี้ทำให้ผู้โจมตีสลับแพ็กเกจที่ผ่านการตรวจแล้วเป็นแพ็กเกจของตัวเองได้ เมื่อ APT ติดตั้งแพ็กเกจนั้น สคริปต์ติดตั้งของผู้โจมตีจะรันด้วยสิทธิ์ root ทันที

บังคับให้ดาวน์โหลดซ้ำ — ผู้พัฒนา APT อธิบายว่าผู้โจมตีใช้ HTTP redirect ร่วมกับข้อผิดพลาดชั่วคราวธรรมดาของเซิร์ฟเวอร์ เพื่อให้ APT ลองดาวน์โหลดใหม่ ช่องโหว่อยู่ในเส้นทางของการลองใหม่นี้ จึงต้องเปิดค่า Acquire::Retries ซึ่งเป็นค่าเริ่มต้นตั้งแต่ Debian 12 และ Ubuntu 22.04

ใครเป็นผู้โจมตีได้ — Ubuntu ระบุว่าใครก็ตามที่แก้ทราฟฟิก HTTP ระหว่าง APT กับเซิร์ฟเวอร์แพ็กเกจได้ เช่น mirror ประสงค์ร้าย proxy ที่ถูกยึด หรือผู้ที่อยู่ในเครือข่ายเดียวกันและดักทราฟฟิกได้ การโจมตีเกิดตอนเครื่องติดตั้งแพ็กเกจ

ผลกระทบ

กลุ่มที่เสี่ยงที่สุด คือ เซิร์ฟเวอร์และเครื่องที่รัน Debian 12 ขึ้นไป Ubuntu 22.04 ขึ้นไป และ distro ลูกที่ยังไม่อัปเดต APT โดยเฉพาะเครื่องที่ดึงแพ็กเกจผ่าน HTTP จาก mirror ภายนอก ผ่าน proxy กลาง หรือจากเครือข่ายที่ควบคุมไม่ได้ เช่น Wi-Fi สาธารณะหรือคลาวด์ที่ใช้ mirror ของบุคคลที่สาม

ผลลัพธ์เมื่อโดน คือ ผู้โจมตีได้สิทธิ์ root บนเครื่องทันทีผ่านกระบวนการติดตั้งที่ผู้ดูแลสั่งเอง ซึ่งแทบไม่ทิ้งสัญญาณผิดปกติ ความเสี่ยงสูงขึ้นสำหรับองค์กรที่รัน apt upgrade อัตโนมัติจำนวนมาก เพราะ mirror หรือ proxy ภายในที่ถูกยึดเพียงตัวเดียวอาจกระจายโค้ดไปทุกเครื่องได้ แม้การโจมตีต้องอยู่ในตำแหน่งตรงกลางของทราฟฟิกก่อน แต่ผลลัพธ์รุนแรงพอที่ควรอัปเดตเร็ว

คำแนะนำ

  • ทำทันที: อัปเดต APT เป็นเวอร์ชันที่แก้แล้ว เช่น Ubuntu 24.04 LTS เป็น 2.8.4ubuntu0.1 และ 22.04 LTS เป็น 2.4.15ubuntu0.1 ส่วน Debian ให้ติดตั้งเวอร์ชันตามประกาศ DSA โดยอัปเดต APT ก่อนแพ็กเกจอื่น
  • ทำทันที: ระหว่างรออัปเดต ให้ดึงแพ็กเกจจาก mirror ทางการหรือ mirror ภายในที่ควบคุมเองเท่านั้น และงดรัน apt บนเครือข่ายที่ไม่ไว้ใจ
  • ตรวจค่าตั้ง: ไล่หา Acquire::Retries ใน /etc/apt/apt.conf.d/ และในสคริปต์ provisioning โดยเฉพาะเครื่อง Debian 11 และ Ubuntu 20.04 ที่ปกติไม่เสี่ยง แต่จะเสี่ยงถ้าเปิดค่านี้ไว้
  • ตรวจ distro ลูก: ถ้าใช้ distro ที่สร้างจาก Debian หรือ Ubuntu ให้ตามประกาศของผู้ดูแล distro นั้นแยกต่างหาก เพราะ Ubuntu ระบุว่ากระทบแต่ไม่ได้บอกชื่อ
  • ระยะยาว: ตั้งให้แหล่งแพ็กเกจใช้ HTTPS เมื่อทำได้ และเฝ้าระวัง mirror หรือ proxy ภายในเหมือนเป็นระบบสำคัญ เพราะเป็นจุดที่แจกจ่ายโค้ดสิทธิ์ root ไปทุกเครื่อง

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