สรุปสั้น
มีการเปิดเผยช่องโหว่ใน extension Remote-SSH ของ Visual Studio Code ที่เปิดเส้นทางโจมตีแบบ post-compromise ช่องโหว่นี้ทำให้ผู้โจมตีที่ยึดเครื่องนักพัฒนาได้แล้ว สามารถเด้ง (pivot) ต่อเข้าสู่สภาพแวดล้อมคลาวด์และ production VS Code ใช้ Remote-SSH เชื่อมต่อไปยัง AWS EC2, Azure VM และเซิร์ฟเวอร์ในองค์กร จึงเป็นสะพานที่ระบบปลายทางไว้ใจ ปัญหาเกิดจากการสร้างสคริปต์ bootstrap ไว้ในไดเรกทอรีชั่วคราวที่ผู้ใช้เขียนได้ โดยไม่มีการตรวจสอบความถูกต้อง การล็อกไฟล์ หรือลายเซ็น เกิดเป็น race condition แบบ Time-of-Check to Time-of-Use (TOCTOU) ที่ผู้โจมตีแทรกเพย์โหลดก่อนสคริปต์ถูกรัน การโจมตีเกิดหลังล็อกอินสำเร็จ จึงทำให้ MFA ไม่สามารถป้องกันได้ และกระทบ extension รวมกว่า 76 ล้านการติดตั้ง
รายละเอียดข่าว
เว็บไซต์ Cyber Security News รายงานเมื่อวันที่ 29 พฤษภาคม 2569 ว่า มีการเปิดเผยช่องโหว่ใหม่ใน extension Remote-SSH ของ Visual Studio Code ที่เปิดเผยเส้นทางโจมตีแบบ post-compromise ระดับวิกฤต ช่องโหว่นี้เปิดทางให้ผู้ก่อการสามารถเด้งจากเครื่องนักพัฒนาที่ติดมัลแวร์ ต่อเข้าไปยังสภาพแวดล้อมคลาวด์และ production ได้ VS Code เป็นหนึ่งในแพลตฟอร์มพัฒนาที่ใช้กันแพร่หลายที่สุด และ extension Remote-SSH ช่วยให้เชื่อมต่อไปยัง AWS EC2, Azure virtual machine และเซิร์ฟเวอร์ on-premises ได้อย่างราบรื่น ฟังก์ชันนี้สร้างสะพานที่เชื่อถือได้ระหว่าง endpoint ของนักพัฒนากับระบบปลายทางที่อ่อนไหว แต่งานวิจัยใหม่แสดงว่าความไว้ใจนี้สามารถถูกใช้โจมตีเพื่อให้เกิด RCE บนโครงสร้างพื้นฐานที่เชื่อมต่ออยู่ ขนาดของผลกระทบน่ากังวล เพราะ extension ที่เกี่ยวข้อง ทั้ง Remote-SSH, Remote Explorer, AWS Toolkit และ Azure integrations รวมกันมีการติดตั้งกว่า 76 ล้านครั้ง แพลตฟอร์มพัฒนาอื่นอย่าง Cursor IDE ก็อาจได้รับผลกระทบจากการใช้ extension ที่พึ่งพากันร่วมกัน ที่สำคัญ ไมโครซอฟท์รับทราบรายงานแล้ว แต่จัดว่าพฤติกรรมนี้ “สอดคล้องกับการออกแบบของผลิตภัณฑ์” จึงปล่อยให้การป้องกันเป็นภาระของผู้ใช้และองค์กรเป็นหลัก
รายละเอียดช่องโหว่
ต้นตอของช่องโหว่อยู่ที่วิธีที่ VS Code จัดการการเริ่มต้น (initialization) เซสชัน Remote-SSH เมื่อเริ่มเชื่อมต่อ แอปจะสร้างสคริปต์ shell แบบ bootstrap ขึ้นในเครื่องและเก็บไว้ในไดเรกทอรีชั่วคราวที่ผู้ใช้เขียนได้ จากนั้นสคริปต์จะถูกส่งและรันโดยอัตโนมัติบนเครื่องปลายทาง จุดอันตรายคือกระบวนการนี้ ขาดการตรวจสอบความถูกต้อง (integrity validation) การล็อกไฟล์ และการตรวจลายเซ็น (signature verification) ทำให้เกิด race condition แบบ Time-of-Check to Time-of-Use (TOCTOU) ผู้โจมตีที่เข้าถึงเครื่องนักพัฒนาที่ถูกยึดแล้ว สามารถเฝ้าดูไดเรกทอรีชั่วคราว ดักจับสคริปต์ที่ถูกสร้าง และแทรกเพย์โหลดประสงค์ร้ายก่อนที่สคริปต์จะถูกรัน เมื่อนักพัฒนาเริ่มเซสชัน Remote-SSH รวมถึงเซสชันที่ป้องกันด้วย MFA สคริปต์ที่ถูกดัดแปลงจะถูกรันบนเซิร์ฟเวอร์ปลายทาง มอบสิทธิ์รันโค้ดให้ผู้โจมตีทันที นี่คือการละเมิด trust boundary ที่สภาพแวดล้อม local ที่ถูกยึด ส่งผลโดยตรงต่อการรันโค้ดในคลาวด์หรือ production การโจมตี ไม่ได้ข้ามกลไกยืนยันตัวตน แต่ทำงานหลังล็อกอินสำเร็จ จึงทำให้ MFA ไม่มีผลในการป้องกันเทคนิคนี้ มี PoC สาธิตสำเร็จทั้งบน Azure VM, AWS EC2 และเซิร์ฟเวอร์ภายใน

ผลกระทบต่อไทย
นักพัฒนาและองค์กรไทยจำนวนมากใช้ VS Code เป็น IDE หลัก และพึ่งพา Remote-SSH ในการเชื่อมต่อไปยัง cloud server บน AWS/Azure รวมถึงเซิร์ฟเวอร์ในองค์กร ทำให้เสี่ยงโดยตรงต่อเทคนิคนี้ ความเสี่ยงสำคัญคือ การที่เครื่องนักพัฒนากลายเป็น “ประตูสู่คลาวด์” ทีมไทยที่อนุญาตให้นักพัฒนาเชื่อมต่อ production ผ่าน VS Code โดยตรง อาจถูกยึดทั้งระบบหากเครื่องนักพัฒนาเครื่องเดียวถูกเจาะ เนื่องจากไมโครซอฟท์มองว่าเป็นไปตามการออกแบบและไม่ออกแพตช์ องค์กรไทยจึงต้องลดความเสี่ยงด้วยมาตรการเชิงกระบวนการเอง ไม่สามารถรออัปเดต นี่ตอกย้ำว่า workstation ของนักพัฒนาเป็นส่วนหนึ่งของ software supply chain ที่ต้องปกป้องเทียบเท่าเซิร์ฟเวอร์ production
คำแนะนำ
หลีกเลี่ยงการใช้ Remote-SSH บนระบบที่ไม่น่าเชื่อถือ และแยก (isolate) สภาพแวดล้อมของนักพัฒนาออกจากระบบ production เพื่อลดความเสี่ยงการเด้งเข้าสู่คลาวด์ เฝ้าระวังไดเรกทอรีชั่วคราวว่ามีการแก้ไขไฟล์โดยไม่ได้รับอนุญาตหรือไม่ และตรวจจับกิจกรรมผิดปกติบนเซิร์ฟเวอร์ปลายทาง ใช้หลักการ least privilege กับบัญชีที่นักพัฒนาใช้เชื่อมต่อ production จำกัดสิทธิ์ให้น้อยที่สุด ปกป้องเครื่องนักพัฒนาเทียบเท่าเซิร์ฟเวอร์สำคัญ ติดตั้ง EDR และจำกัดสิทธิ์การเขียนในไดเรกทอรีชั่วคราว แยกการเข้าถึง production ออกจาก IDE โดยตรง พิจารณาใช้ bastion host หรือ session manager ที่มีการตรวจสอบ ทบทวนว่ามี extension ตระกูล Remote-SSH/AWS/Azure ตัวใดบ้างในองค์กร และประเมินความเสี่ยงตามการใช้งานจริง
