ช่องโหว่ APT บน Debian และ Ubuntu ให้คนกลางสลับแพ็กเกจแล้วรันโค้ดเป็น root ได้ ออกแพตช์แล้ว
CVE-2026-109518 ในตัวติดตั้งแพ็กเกจ APT ทำให้ผู้ที่ดักแก้ทราฟฟิกได้แอบเปลี่ยนแพ็กเกจที่ผ่านการตรวจแล้ว Debian และ Ubuntu ออก apt รุ่นแก้แล้วเมื่อ 4 พ.ย.
ปัญหาเกิดตอนที่ APT ดาวน์โหลดไฟล์แพ็กเกจไม่สำเร็จแล้วลองใหม่ ผู้โจมตีที่อยู่ระหว่างเครื่องกับเซิร์ฟเวอร์แพ็กเกจ เช่น มิเรอร์หรือพร็อกซีที่ไม่น่าไว้ใจ สามารถใช้การเปลี่ยนเส้นทาง (redirect) ร่วมกับการแกล้งให้เซิร์ฟเวอร์ตอบผิดพลาดชั่วคราว ทำให้ APT ดาวน์โหลดซ้ำ แล้วเอาไฟล์ของตัวเองไปทับแพ็กเกจที่ตรวจลายเซ็นผ่านไปแล้ว เนื่องจากการติดตั้งแพ็กเกจทำด้วยสิทธิ์ root โค้ดของผู้โจมตีจึงได้สิทธิ์สูงสุดของเครื่องทันที
ช่องโหว่นี้ได้รหัส CVE-2026-109518 ทีมพัฒนา APT จัดว่าร้ายแรงระดับวิกฤต ส่วน Ubuntu ให้ระดับสูง คะแนน CVSS 4.0 อยู่ที่ 7.7 การโจมตีต้องอาศัยค่า Acquire::Retries ที่ไม่ใช่ศูนย์ ซึ่งตั้งไว้ที่ 3 เป็นค่าเริ่มต้นตั้งแต่ Debian 12 และ Ubuntu 22.04 ขึ้นไป รุ่นเก่ากว่านั้นจะเสี่ยงเฉพาะเครื่องที่มีคนเปิดการลองใหม่ไว้เอง ซึ่งทีม APT บอกว่าสคริปต์จำนวนมากทำแบบนั้น ดิสโทรที่สร้างต่อจาก Debian หรือ Ubuntu ก็ได้รับผลกระทบด้วย
ณ วันที่ 4 พ.ย. ยังไม่มีรายงานว่ามีการใช้ช่องโหว่นี้โจมตีจริง และยังไม่มีโค้ดเจาะเผยแพร่ แต่การแก้ไขออกมาแล้ว apt รุ่นที่ปลอดภัยคือ Debian 12 รุ่น 2.6.2, Debian 13 รุ่น 3.0.4, Ubuntu 22.04 รุ่น 2.4.15ubuntu0.1, Ubuntu 24.04 รุ่น 2.8.4ubuntu0.1, Ubuntu 26.04 รุ่น 3.2.1ubuntu0.1 และ Ubuntu 26.10 รุ่น 3.3.3ubuntu0.1 ส่วน Ubuntu รุ่นเก่ากว่า 22.04 ได้แพตช์ผ่าน Ubuntu Pro
เครื่องที่เสี่ยงที่สุดคือเซิร์ฟเวอร์และเครื่องนักพัฒนาที่ติดตั้งแพ็กเกจผ่านเครือข่ายสาธารณะ ไวไฟร่วม หรือมิเรอร์ภายนอกที่ใช้ http ธรรมดา องค์กรในไทยที่ใช้เซิร์ฟเวอร์ Linux จำนวนมากควรอัปเดต apt ก่อนติดตั้งแพ็กเกจอื่นรอบถัดไป
ควรทำอะไร
- อัปเดต apt ก่อนเป็นอย่างแรก โดยปิดการลองใหม่ระหว่างอัปเดต:
sudo apt-get -o Acquire::Retries=0 updateแล้วsudo apt-get -o Acquire::Retries=0 install --only-upgrade apt - เช็กเวอร์ชันด้วย
dpkg-query -W aptให้ตรงหรือใหม่กว่ารุ่นที่ระบุข้างบน - ถ้ายังไม่มีรุ่นแก้ (เช่น มิเรอร์ภายในยังไม่ซิงก์) ให้ตั้ง Acquire::Retries เป็น 0 ไว้ชั่วคราว และเลี่ยงการติดตั้งแพ็กเกจผ่านเครือข่ายที่ไม่น่าไว้ใจ
- ตรวจสคริปต์และอิมเมจคอนเทนเนอร์ที่ตั้ง Acquire::Retries ไว้เอง โดยเฉพาะบน Debian 11 หรือ Ubuntu 20.04