
Google ได้แก้ไขช่องโหว่ด้านความปลอดภัยระดับ Critical ใน Gemini CLI ซึ่งทำให้ผู้โจมตีสามารถเรียกใช้โค้ดที่เป็นอันตรายจากระยะไกลได้ใน Automated workflows บางอย่างได้
ช่องโหว่นี้ส่งผลกระทบต่อแพ็กเกจ npm @google/gemini-cli และ GitHub Action google-github-actions/run-gemini-cli โดยเฉพาะเมื่อใช้งานแบบ Headless เช่น ใน Pipeline CI/CD
ตามประกาศด้านความปลอดภัย ช่องโหว่นี้เกิดจากช่องโหว่ 2 ช่องโหว่ที่เกี่ยวข้องกัน ได้แก่ การจัดการ trust ใน Workspace ที่ไม่ปลอดภัย และการ bypass ระบบ Tool allowlisting เมื่อใช้งานภายใต้โหมด --yolo
เมื่อรวมกันแล้ว ช่องโหว่เหล่านี้อาจเปิดช่องโหว่ให้กับระบบที่ต้องประมวลผลเนื้อหาที่ไม่น่าเชื่อถือ เช่น การส่ง Pull requests หรือ Issues จากผู้ใช้งานภายนอกได้
ช่องโหว่ RCE ของ Gemini CLI
ช่องโหว่แรก : เกี่ยวข้องกับความน่าเชื่อถือของโฟลเดอร์ในโหมด headless ในเวอร์ชันก่อนหน้า โดย Gemini CLI จะเชื่อถือ Workspace ปัจจุบันโดยอัตโนมัติเมื่อทำงานในสภาพแวดล้อมแบบ Non-interactive
ทำให้เครื่องมือนี้สามารถโหลดไฟล์การตั้งค่าภายใน และ environment variables จากไดเร็กทอรี .gemini/ ได้โดยไม่ต้องขออนุมัติ
หากผู้โจมตีนำเนื้อหาที่เป็นอันตรายไปวางไว้ในไดเรกทอรี CLI ก็อาจประมวลผล และนำไปสู่การรันคำสั่งที่เป็นอันตรายได้
ในทางปฏิบัติ เป็นการเปิดช่องทางไปสู่การเรียกใช้โค้ดที่เป็นอันตรายจากระยะไกล (Remote Code Execution) ในกระบวนการทำงานของ CI ที่จัดการกับ Repository ที่ไม่น่าเชื่อถือ
ช่องโหว่ที่สอง : ส่งผลกระทบต่อระบบ Tool allowlisting ภายใต้โหมด –yolo ในเวอร์ชันก่อนหน้านี้ ระบบไม่ได้ enforce restrictions ของเครื่องมือที่กำหนดไว้ในไฟล์ ~/.gemini/settings.json อย่างรัดกุมเพียงพอเมื่อมีการเปิดใช้งานโหมด –yolo
ตัวอย่างเช่น หากเวิร์กโฟลว์อนุญาตให้ใช้ run_shell_command แต่ policy อาจครอบคลุมกว้างเกินไป และไปอนุญาตให้รันคำสั่งที่เป็นอันตรายได้ แทนที่จะรันเฉพาะคำสั่งที่ได้รับการอนุมัติเท่านั้น
ในสภาพแวดล้อมที่ต้องประมวลผล prompt ที่ไม่น่าเชื่อถือ หรือข้อความที่ผู้ใช้เป็นผู้ควบคุม ช่องโหว่นี้อาจถูกนำไปใช้ผ่านการโจมตีแบบ Prompt Injection เพื่อสั่งให้ระบบเรียกใช้คำสั่งต่าง ๆ ได้
ประกาศแจ้งเตือนระบุว่า ผลกระทบนี้จำกัดอยู่แค่การใช้งาน Gemini CLI ในโหมด Headless เท่านั้น แต่ถึงอย่างนั้นก็ยังครอบคลุมถึงเวิร์กโฟลว์ของ GitHub Actions อีกจำนวนมาก
Google แจ้งเตือนให้ผู้ใช้ทุกคนตรวจสอบการกำหนดค่าของ Gemini CLI ในระบบ Automation pipelines โดยเฉพาะในส่วนของ Contributors จากภายนอกที่สามารถส่งผลกระทบต่อไฟล์, prompt หรือ environment settings ได้
ปัจจุบันมีเวอร์ชันที่ได้รับการแก้ไขออกมาแล้ว ผู้ใช้ควรอัปเกรดแพ็กเกจ @google/gemini-cli เป็นเวอร์ชันล่าสุด 0.39.1 หรือ 0.40.0-preview.3
ส่วน GitHub Action run-gemini-cli ก็ได้รับการแก้ไขในเวอร์ชันล่าสุดแล้วเช่นกันในเวอร์ชัน 0.1.22 เวิร์กโฟลว์ใดที่มีการล็อกเวอร์ชัน Gemini CLI เป็นเวอร์ชันเก่าควรได้รับการอัปเดตทันที
นอกจากนี้ Google ยังได้ปรับเปลี่ยนระบบความปลอดภัยซึ่งจะส่งผลกระทบต่อการทำงานเดิมนั่นคือโหมด Headless จะไม่เชื่อถือ Workspace โดยอัตโนมัติอีกต่อไป
องค์กรที่ใช้งาน Trusted Inputs จะต้องตั้งค่าตัวแปร GEMINI_TRUST_WORKSPACE: ‘true’ ด้วยตนเอง
สำหรับเวิร์กโฟลว์ที่ต้องประมวลผลเนื้อหาที่ไม่น่าเชื่อถือ Google แนะนำให้ปฏิบัติตามคู่มือการเสริมความปลอดภัยของระบบ และตรวจสอบการตั้งค่าส่วนที่อนุญาตให้รันเครื่องมือ และคำสั่งต่าง ๆ อย่างระมัดระวัง
ช่องโหว่นี้ได้รับรายงานจาก Elad Meged จากบริษัท Novee Security และ Dan Lisichkin จากบริษัท Pillar Security ผ่านทางโครงการ Vulnerability Rewards Program ของ Google
กรณีนี้แสดงให้เห็นถึงความเสี่ยงที่เพิ่มสูงขึ้นในกลุ่มเครื่องมือสำหรับนักพัฒนาที่ใช้ AI นั่นคือ เมื่อระบบ Automation ,Prompt handling และ Shell access ร่วมกับ Input ที่ไม่น่าเชื่อถือ ช่องโหว่ของ Policy ความปลอดภัยเพียงเล็กน้อยก็สามารถกลายเป็นช่องทางการโจมตีระดับ Critical ได้อย่างรวดเร็ว
ที่มา : Cybersecuritynews

You must be logged in to post a comment.