
ช่องโหว่ที่เพิ่งถูกเปิดเผยล่าสุดบน Linux Kernel กำลังสร้างความกังวลอย่างมากในชุมชนความปลอดภัยไซเบอร์ เนื่องจากช่องโหว่นี้ทำให้ผู้โจมตีสามารถเข้าถึงข้อมูลที่มีความสำคัญสูง รวมถึง SSH private keys และค่าแฮชรหัสผ่านบนระบบที่ได้รับผลกระทบ
ช่องโหว่ดังกล่าวมีหมายเลข CVE-2026-46333 และถูกเรียกว่า “ssh-keysign-pwn” โดยส่งผลกระทบต่อระบบปฏิบัติการ Linux หลากหลายเวอร์ชัน
ระบบปฏิบัติการ Linux เผชิญกับช่องโหว่หลายรายการในปี 2026 รวมถึง Dirty Pipe, io_uring UAF, Copy Fail, io_uring ZCRX Freelist, Dirty Frag และ Fragnesia
ช่องโหว่บน Linux Kernel “ssh-keysign-pwn”
ช่องโหว่ดังกล่าวมีต้นตอมาจาก logic การควบคุมการเข้าถึงของ ptrace ใน Linux Kernel โดยเฉพาะภายในฟังก์ชัน __ptrace_may_access()
โดยปกติแล้ว กลไกนี้มีหน้าที่จำกัดไม่ให้ Process ต่าง ๆ สามารถตรวจสอบ หรือโต้ตอบกับ Process อื่น ๆ ได้ ทว่าเกิดข้อผิดพลาดทาง logic ที่เชื่อมโยงกับการตรวจสอบสถานะ "Dumpability" ของ Kernel จนทำให้เกิดเงื่อนไขการแย่งชิงทรัพยากรที่อันตรายขึ้น
เมื่อ Process ที่ได้รับสิทธิ์ระดับสูง (เช่น ssh-keysign หรือ chage) กำลังจะปิดตัวลง จะมีช่วงเวลาสั้น ๆ ที่หน่วยความจำของมันถูกล้างค่าไปแล้ว (mm = NULL) แต่ไฟล์ข้อมูลที่เปิดค้างไว้จะยังคงอยู่ ในระหว่างช่องว่างนี้ ผู้โจมตีในระดับ Local ที่ไม่มีสิทธิ์ระดับสูง สามารถใช้ช่องโหว่นี้โดยใช้คำสั่ง pidfd_getfd() เพื่อขโมย File Descriptors เหล่านั้นไปได้
การกระทำนี้จะ bypass การยืนยันตัวตนตามปกติ ส่งผลให้ผู้โจมตีสามารถเข้าถึงไฟล์ที่มีความสำคัญสูงได้โดยไม่ได้รับอนุญาต
นักวิจัยด้านความปลอดภัย ซึ่งรวมถึง Qualys ได้ออกมาเตือนว่า ช่องโหว่นี้อาจนำไปสู่ผลกระทบที่ร้ายแรงตามมา ดังนี้:
- การขโมย SSH Private Keys ซึ่งจะทำให้ผู้โจมตีสามารถสวมรอยเป็น systems หรือ users ได้
- การโจมตีแบบ Man-in-the-middle (MitM) จนกว่า Keys ที่ถูกบุกรุกจะถูกเปลี่ยนใหม่
- สิทธิ์การอ่านไฟล์ /etc/shadow อย่างสมบูรณ์ ทำให้ผู้โจมตีเห็นค่าแฮชของรหัสผ่าน เพื่อนำไปถอดรหัสแบบออฟไลน์
- โอกาสในการขยายวงของการโจมตี สามารถเจาะเข้าสู่โครงสร้างพื้นฐานส่วนอื่น ๆ ของระบบโดยใช้ข้อมูล Credential ที่ขโมยมาได้
เนื่องจาก SSH keys มักจะถูกนำไปใช้ซ้ำในสภาพแวดล้อมต่าง ๆ ระบบที่ถูกบุกรุกเพียงระบบเดียวสามารถแพร่กระจายไปยังเครือข่ายที่กว้างขึ้นได้
ระบบที่ได้รับผลกระทบ
ช่องโหว่นี้ส่งผลกระทบต่อระบบปฏิบัติการ Linux ส่วนใหญ่ที่ใช้ Kernel เวอร์ชันก่อนหน้าแพตช์ความปลอดภัยที่ปล่อยออกมาเมื่อวันที่ 14 พฤษภาคม 2026 ซึ่งรวมถึง:
- Ubuntu
- Debian
- Arch Linux
- CentOS
- Raspberry Pi OS
เนื่องจากมีรายงานว่าช่องโหว่นี้แฝงตัวอยู่มานานกว่า 6 ปี ระบบที่มีการติดตั้ง และใช้งานในระยะยาว จำนวนมากอาจได้รับผลกระทบ
ปัญหาหลักของช่องโหว่นี้อยู่ที่วิธีที่ Kernel จัดการกับ processes ที่ไม่มี memory context โดยแฟล็กสถานะ "Dumpability" ซึ่งเดิมทีถูกออกแบบมาเพื่อควบคุมการทำ Core Dumps ได้ถูกนำกลับมาใช้ซ้ำในการตรวจสอบของ ptrace ทั้ง ๆ ที่ในทาง logic แล้วไม่สมเหตุสมผลอีกต่อไป
เมื่อกระบวนการทำงานสิ้นสุดลง หน่วยความจำของมันจะถูกปล่อยออกไปก่อนที่ไฟล์ข้อมูลที่เปิดค้างไว้ จะถูกล้างข้อมูลตาม
โดย Kernel ไม่สามารถบังคับใช้ข้อจำกัดการเข้าถึงได้อย่างถูกต้องในช่วงสถานะเปลี่ยนผ่านนี้ ทำให้ผู้โจมตีสามารถ bypass ขอบเขตความปลอดภัยได้
ตัวอย่างการโจมตี (PoC) บน GitHub ที่ชื่อว่า ssh-keysign-pwn ได้แสดงให้เห็นอย่างชัดเจนถึงวิธีเปลี่ยนเงื่อนไขการแย่งชิงทรัพยากรนี้ใน Kernel เวอร์ชันก่อน 31e62c2ebbfd
PoC นี้จะสร้างกระบวนการโจมตีขึ้นมาซ้ำ ๆ เพื่อชิงจังหวะกับช่วงที่ตัวช่วยระบบระดับสูงกำลังจะปิดตัวลง โดยใช้คำสั่ง pidfd_getfd เข้าไปฉกชิงไฟล์ข้อมูลของระบบที่มีสิทธิ์ระดับ Root มาให้ได้ก่อนที่ไฟล์เหล่านั้นจะถูกปิดลง
จากการวิเคราะห์ที่มีการเผยแพร่สู่สาธารณะ การเจาะระบบด้วยวิธีนี้มักจะประสบความสำเร็จภายใน 100 ถึง 2,000 ครั้ง ทำให้สามารถใช้งานได้จริงบนระบบจริง
มีการเน้นย้ำถึงเส้นทางการโจมตีหลัก 2 รูปแบบ ได้แก่:
- การโจมตี ssh-keysign เพื่ออ่าน SSH host private keys จากไฟล์ /etc/ssh/ssh_host_{ecdsa,ed25519,rsa}_key
- การโจมตีไปที่คำสั่ง chage -l <user> เพื่ออ่านไฟล์ /etc/shadow ผ่านรูปแบบการขโมยไฟล์ข้อมูลระบบในลักษณะเดียวกัน
แนวทางการลดความเสี่ยง
องค์กรต่าง ๆ ควรดำเนินการทันทีเพื่อลดความเสี่ยง ดังนี้:
- อัปเดตแพตช์ Kernel เวอร์ชันล่าสุด เพื่อแก้ไขช่องโหว่ CVE-2026-46333
- เปลี่ยน SSH keys ใหม่ทั้งหมด โดยเฉพาะอย่างยิ่งบนระบบที่มีความสำคัญ
- ตรวจสอบประวัติการเข้าถึงไฟล์ที่มีความสำคัญ เช่น /etc/shadow
- ตรวจสอบการใช้งานที่น่าสงสัยของระบบที่เรียกใช้ ptrace หรือ pidfd
- จำกัดสิทธิ์การเข้าถึงของผู้ใช้ในระดับ Local เท่าที่เป็นไปได้ เนื่องจากการโจมตีต้องอาศัยการเข้าถึงในระดับ Local
การที่มีโค้ดสาธิตการโจมตี (PoC) เผยแพร่สู่สาธารณะบน GitHub แล้ว ยิ่งเพิ่มความเป็นไปได้ที่จะเกิดการโจมตีจริงในวงกว้าง ซึ่งทำให้การอัปเดตแพตช์กลายเป็นเรื่องที่ต้องทำอย่างเร่งด่วนที่สุด
เนื่องจาก SSH ถือเป็นแกนหลักในการเข้าถึงระบบอย่างปลอดภัย ทั้งในสภาพแวดล้อมแบบคลาวด์ และในองค์กร การรั่วไหลของ private keys จึงเป็นความเสี่ยงที่มีผลกระทบสูงที่ไม่สามารถมองข้ามได้
ที่มา : Cybersecuritynews

You must be logged in to post a comment.