สรุปสั้น
หน่วยงาน CISA ของสหรัฐอเมริกาเพิ่มช่องโหว่ CVE-2026-31431 หรือที่เรียกว่า Copy Fail ใน Linux Kernel เข้ารายการช่องโหว่ที่ถูกใช้โจมตีจริง (KEV) เมื่อวันที่ 1 พฤษภาคม 2569 ช่องโหว่นี้เป็นประเภท Local Privilege Escalation (LPE) ที่ได้รับคะแนน CVSS 7.8 สามารถทำให้ผู้ใช้ที่ไม่มีสิทธิ์พิเศษยกระดับเป็น Root ได้ ช่องโหว่มีอายุถึง 9 ปี เกิดจาก Logic Bug ที่สะสมจากการแก้ไขโค้ด 3 ครั้งในปี 2011, 2015 และ 2017 ส่งผลกระทบต่อ Linux ทุก Distribution ที่ออกตั้งแต่ปี 2017 Exploit ที่ใช้โจมตีมีขนาดเพียง 732 ไบต์เขียนด้วย Python ทำให้ผู้โจมตีทำได้ง่ายมาก ช่องโหว่นี้เป็นอันตรายร้ายแรงต่อ Container Environment เช่น Docker, LXC และ Kubernetes เพราะสามารถทะลุ Container Isolation ได้ Microsoft เตือนว่าคาดว่าจะเห็นการโจมตีเพิ่มขึ้นอย่างมากในอีกไม่กี่วัน
รายละเอียดข่าว
เว็บไซต์ The Hacker News รายงานเมื่อวันที่ 3 พฤษภาคม พ.ศ. 2569 ว่า หน่วยงานความมั่นคงปลอดภัยไซเบอร์และโครงสร้างพื้นฐานของสหรัฐอเมริกา (CISA) ได้เพิ่มช่องโหว่ CVE-2026-31431 ใน Linux Kernel เข้าสู่แคตตาล็อก Known Exploited Vulnerabilities (KEV) หลังจากพบหลักฐานว่ามีการใช้โจมตีจริงในธรรมชาติ
ช่องโหว่นี้มีชื่อเรียกว่า Copy Fail ซึ่งตั้งชื่อโดยทีมวิจัย Theori และ Xint เป็นช่องโหว่ประเภท Local Privilege Escalation ที่ได้รับคะแนน CVSS 7.8 สามารถทำให้ผู้ใช้ที่ไม่มีสิทธิ์พิเศษยกระดับเป็น Root ได้ ช่องโหว่นี้ได้รับการแก้ไขแล้วใน Linux Kernel เวอร์ชัน 6.18.22, 6.19.12 และ 7.0
สิ่งที่ทำให้ช่องโหว่นี้น่าสนใจเป็นพิเศษคือมันมีอายุถึง 9 ปี เกิดจาก Logic Bug ที่สะสมจากการเปลี่ยนแปลงโค้ด 3 ครั้งที่แยกจากกัน ในปี 2011, 2015 และ 2017 โดยแต่ละครั้งไม่เป็นอันตรายด้วยตัวเอง แต่เมื่อรวมกันแล้วสร้างช่องทางให้โจมตีได้
Kaspersky รายงานว่า Copy Fail เป็นอันตรายร้ายแรงต่อ Container Environment เนื่องจาก Docker, LXC และ Kubernetes จะอนุญาตให้ Process ภายใน Container เข้าถึง AF_ALG Subsystem ได้โดยค่าเริ่มต้น ทำให้ผู้โจมตีสามารถทะลุ Container Isolation และเข้าควบคุมเครื่อง Host ได้
ทีม Microsoft Defender Security Research เตือนว่าพบกิจกรรมทดสอบเบื้องต้นที่อาจนำไปสู่การโจมตีเพิ่มขึ้นอย่างมากในอีกไม่กี่วัน และมี PoC เวอร์ชัน Go และ Rust ปรากฏในที่เก็บโค้ดแบบโอเพนซอร์สแล้ว
วิธีการโจมตี
Copy Fail เกิดจาก Logic Bug ใน Authentication Cryptographic Template ของ Linux Kernel ที่ทำให้ผู้โจมตีสามารถทำ Privilege Escalation ได้อย่างง่ายดายด้วย Exploit ขนาดเพียง 732 ไบต์ที่เขียนด้วย Python
กลไกการโจมตีอาศัยการทำลาย Page Cache ของ Kernel ซึ่งเป็นตัวแทนในหน่วยความจำของไฟล์ที่ Executable อยู่บนดิสก์ เมื่อผู้โจมตีแก้ไข Page Cache ได้ ก็เท่ากับเปลี่ยนแปลง Binary ในขณะที่ถูก Execute โดยไม่ต้องแก้ไขไฟล์บนดิสก์จริง ผู้โจมตีสามารถ Inject โค้ดเข้าไปใน Binary ที่มีสิทธิ์สูง เช่น /usr/bin/su แล้วใช้มันเพื่อได้สิทธิ์ Root
ขั้นตอนการโจมตีที่ Microsoft อธิบายไว้ประกอบด้วย การสำรวจเพื่อหา Linux Host หรือ Container ที่รัน Kernel เวอร์ชันที่มีช่องโหว่ จากนั้นรัน Exploit จาก Context ที่มีสิทธิ์ต่ำ ทำการ Overwrite ข้อมูลขนาด 4 ไบต์ใน Page Cache ของ Kernel ซึ่งนำไปสู่การทำลายข้อมูลที่ Kernel จัดการ แล้วยกระดับ Process เป็น UID 0 เพื่อได้สิทธิ์ Root เต็มรูปแบบ
การตรวจจับการโจมตีนี้ทำได้ยากมาก เนื่องจาก Exploit ใช้เฉพาะ System Call ที่ถูกต้องตามปกติ ซึ่งยากที่จะแยกแยะจากพฤติกรรมปกติของแอปพลิเคชัน
ผลกระทบต่อไทย
Linux เป็นระบบปฏิบัติการหลักสำหรับเซิร์ฟเวอร์และระบบคลาวด์ในประเทศไทย ทั้งในภาคเอกชนและภาครัฐ องค์กรที่ใช้บริการคลาวด์จาก AWS, Azure หรือ GCP รวมถึงผู้ให้บริการ Hosting ในไทย ล้วนมีความเสี่ยงจากช่องโหว่นี้
ช่องโหว่ Copy Fail เป็นอันตรายอย่างยิ่งต่อสภาพแวดล้อม Container ที่ได้รับความนิยมมากขึ้นเรื่อย ๆ ในไทย เนื่องจากสามารถทะลุ Container Isolation และเข้าควบคุมเครื่อง Host ได้ บริษัทเทคโนโลยีและสตาร์ตอัปที่ใช้ Kubernetes อย่างแพร่หลายควรให้ความสำคัญกับการแพตช์เป็นพิเศษ นอกจากนี้ Exploit ที่ใช้ง่ายและมีขนาดเล็กเพียง 732 ไบต์ หมายความว่าผู้โจมตีที่มีทักษะต่ำก็สามารถใช้ช่องโหว่นี้ได้
คำแนะนำ
- อัปเดต Linux Kernel เป็นเวอร์ชัน 6.18.22, 6.19.12 หรือ 7.0 ขึ้นไปโดยเร็วที่สุด หรือติดตั้งแพตช์จาก Distribution ที่ใช้งาน
- หากยังไม่สามารถอัปเดตได้ทันที ให้ปิดการโหลด Module algif_aead โดยเพิ่ม blacklist ใน modprobe configuration เพื่อลดความเสี่ยง
- ตรวจสอบ Container Environment ว่ามีการจำกัดสิทธิ์ AF_ALG Subsystem หรือไม่ โดยเฉพาะ Kubernetes Pod ที่รันด้วยสิทธิ์ Default
- เฝ้าระวังพฤติกรรมการยกระดับสิทธิ์ที่ผิดปกติบนเซิร์ฟเวอร์ Linux โดยเฉพาะการเปลี่ยนแปลง UID เป็น 0 จาก Process ที่ไม่คาดหมาย
- ตรวจสอบว่า SSH Access, CI/CD Pipeline และ Container Runtime ไม่ได้เป็นจุดเข้าถึงเบื้องต้นที่ผู้โจมตีอาจใช้ร่วมกับช่องโหว่นี้
