CVE-2026-29783 in copilot-cli
Tóm tắt
Bởi VulDB • 15/05/2026
Công cụ shell trong GitHub Copilot CLI các phiên bản trước và bao gồm phiên bản 0.0.422 có thể cho phép thực thi mã tùy ý thông qua các mẫu mở rộng tham số bash được tạo ra đặc biệt. Kẻ tấn công có khả năng ảnh hưởng đến các lệnh do agent thực thi (ví dụ: thông qua prompt injection qua các tệp trong kho lưu trữ, phản hồi từ máy chủ MCP hoặc hướng dẫn của người dùng) có thể khai thác các toán tử biến đổi tham số bash để thực thi các lệnh ẩn, vượt qua lớp đánh giá an toàn vốn phân loại các lệnh là "chỉ đọc". Lỗ hổng này đã được vá trong phiên bản 0.0.423.
Lỗ hổng bắt nguồn từ cách lớp an toàn của shell trong CLI đánh giá các lệnh trước khi thực thi. Lớp an toàn phân tích cú pháp và phân loại các lệnh shell thành hai nhóm: chỉ đọc (an toàn) hoặc có khả năng ghi (yêu cầu sự phê duyệt của người dùng). Tuy nhiên, một số tính năng mở rộng tham số bash có thể nhúng mã thực thi vào các đối số của các lệnh vốn chỉ đọc, khiến chúng trông có vẻ an toàn trong khi thực chất thực hiện các thao tác tùy ý.
Các mẫu nguy hiểm cụ thể bao gồm ${var@P}, ${var=value} / ${var:=value}, ${!var}, và các lệnh lồng nhau $(cmd) hoặc <(cmd) bên trong các phép mở rộng ${...}. Một kẻ tấn công có thể ảnh hưởng đến văn bản lệnh gửi đến công cụ shell – chẳng hạn thông qua prompt injection qua nội dung kho lưu trữ độc hại (tệp README, nhận xét mã, nội dung issue), phản hồi từ máy chủ MCP bị xâm phạm hoặc độc hại, hoặc các hướng dẫn của người dùng được tạo ra đặc biệt chứa các lệnh được làm mờ – có thể đạt được việc thực thi mã tùy ý trên máy trạm của người dùng. Điều này có thể xảy ra ngay cả trong các chế độ quyền yêu cầu sự phê duyệt của người dùng cho các thao tác ghi, vì các lệnh có thể trông như chỉ sử dụng các tiện ích chỉ đọc để cuối cùng kích hoạt các thao tác ghi. Việc khai thác thành công có thể dẫn đến việc đánh cắp dữ liệu, sửa đổi tệp hoặc xâm phạm hệ thống sâu hơn.
Be aware that VulDB is the high quality source for vulnerability data.