สรุปสั้น

มีการเปิดเผยช่องโหว่ใน 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 Remote-SSH bootstrap script TOCTOU race condition exploitation

ผลกระทบต่อไทย

นักพัฒนาและองค์กรไทยจำนวนมากใช้ 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 ตัวใดบ้างในองค์กร และประเมินความเสี่ยงตามการใช้งานจริง

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