ช่องโหว่วิกฤตใน OpenClaw ซึ่งเป็น AI Personal Assistant แบบโอเพนซอร์สที่ได้รับความไว้วางใจจากนักพัฒนามากกว่า 100,000 ราย ได้ถูกค้นพบและนำไปใช้ประโยชน์ในรูปแบบของการโจมตี Remote Code Execution (RCE) แบบคลิกเดียวที่สร้างความเสียหายอย่างร้ายแรง นักวิจัยด้านความปลอดภัยจาก depthfirst General Security Intelligence พบข้อบกพร่องเชิงตรรกะที่เมื่อรวมกับช่องโหว่อื่น ๆ สามารถทำให้ผู้โจมตีเข้าควบคุมระบบของเหยื่อได้อย่างสมบูรณ์ผ่านลิงก์อันตรายเพียงลิงก์เดียวโดยไม่ต้องมีการโต้ตอบจากผู้ใช้
Severity: วิกฤต
System Impact:
- OpenClaw (formerly ClawdBot/Moltbot) Open-source AI personal assistant
- ระบบของเหยื่อที่ใช้งาน OpenClaw
- แอปพลิเคชันส่งข้อความ (messaging apps)
- API keys
- คอมพิวเตอร์ภายในเครื่อง (local computer) ที่มี OpenClaw รันอยู่บน localhost:18789
- OpenClaw เวอร์ชันก่อน v2026.1.24-1
Technical Attack Steps:
- การจัดการพารามิเตอร์ URL ที่ไม่ปลอดภัย: โมดูล app-settings.ts ของ OpenClaw ยอมรับพารามิเตอร์ ‘gatewayUrl’ จาก URL โดยไม่มีการตรวจสอบและจัดเก็บไว้ใน localStorage โดยตรง
- การเชื่อมต่อ Gateway โดยไม่มีการตรวจสอบความถูกต้อง: เมื่อแอปพลิเคชันถูกตั้งค่า โมดูล app-lifecycle.ts จะเรียกใช้ฟังก์ชัน connectGateway() ทันที ซึ่งจะรวม ‘authToken’ ที่มีความสำคัญด้านความปลอดภัยเข้ากับการเชื่อมต่อ handshake ไปยังเซิร์ฟเวอร์ Gateway ที่ผู้โจมตีควบคุม
- ช่องโหว่ Cross-Site WebSocket Hijacking (CSWSH): เมื่อเหยื่อเข้าเยี่ยมชมหน้าเว็บที่เป็นอันตราย JavaScript ที่ผู้โจมตีฝังไว้จะทำงานในบริบทของเบราว์เซอร์ สร้างการเชื่อมต่อภายในกับอินสแตนซ์ OpenClaw ของเหยื่อที่ทำงานบน localhost:18789 ซึ่งการใช้งาน WebSocket ของเบราว์เซอร์ไม่บังคับใช้นโยบาย Same-Origin และ OpenClaw ก็ละเว้นการตรวจสอบ Origin Header ฝั่งเซิร์ฟเวอร์ ทำให้ผู้โจมตีสามารถใช้เบราว์เซอร์ของเหยื่อเป็นพร็อกซีได้
- การปิดกลไกความปลอดภัย: หลังจากได้รับการยืนยันตัวตนด้วยโทเคนที่ถูกขโมยไป ผู้โจมตีจะใช้บทบาท ‘operator.admin’ และ ‘operator.approvals’ เพื่อปิดกลไกความปลอดภัย เช่น คำขอ ‘exec.approvals.set’ เพื่อปิดการยืนยันจากผู้ใช้ และคำขอ ‘config.patch’ เพื่อตั้งค่า ‘tools.exec.host’ เป็น ‘gateway’ บังคับให้คำสั่งถูกดำเนินการโดยตรงบนเครื่องโฮสต์แทนที่จะเป็นใน Sandbox
- การดำเนินการโค้ดระยะไกล: ผู้โจมตีส่ง Payload ที่เรียกใช้ ‘node.invoke’ ด้วยคำสั่ง Bash ที่กำหนดเอง ซึ่งนำไปสู่การเข้าควบคุมระบบได้อย่างสมบูรณ์
Recommendations:
Short Term:
- อัปเกรดทันที: ผู้ใช้งาน OpenClaw ทุกรายที่ใช้เวอร์ชันก่อน v2026.1.24-1 ควรรีบอัปเกรดเป็นเวอร์ชันล่าสุดโดยทันที เนื่องจากทีมพัฒนาได้แก้ไขช่องโหว่แล้วโดยการเพิ่มหน้าต่างยืนยัน URL ของ Gateway
- หมุนเวียน Authentication Tokens: ผู้ดูแลระบบควรหมุนเวียน (rotate) Authentication tokens ทั้งหมด
- ตรวจสอบบันทึกการดำเนินการคำสั่ง: ตรวจสอบบันทึกการดำเนินการคำสั่ง (command execution logs) เพื่อหาสัญญาณของกิจกรรมที่น่าสงสัย
Long Term:
- การแบ่งส่วนเครือข่ายเพิ่มเติม: องค์กรที่ใช้งาน OpenClaw ควรดำเนินการแบ่งส่วนเครือข่าย (network segmentation) เพิ่มเติม เพื่อจำกัดการสื่อสารระหว่างส่วนต่างๆ ของระบบ
- จำกัดการเชื่อมต่อ WebSocket ขาออก: จำกัดการเชื่อมต่อ WebSocket ขาออกจากกระบวนการของ AI agent
- การบันทึกข้อมูลการตรวจสอบที่เข้มงวด: รักษาระบบการบันทึกข้อมูลการตรวจสอบ (audit logging) ที่เข้มงวดสำหรับการใช้งาน Authentication tokens และการแก้ไขสิทธิ์ต่าง ๆ
Share this content: