Một dấu chấm cuối tên file khiến Copilot trong Visual Studio chạy mã độc
CVE-2026-103572 trong Copilot của Visual Studio và SQL Server Management Studio: nội dung độc trong repo khiến agent ghi đè file cấu hình MCP mà không hỏi người dùng, rồi IDE tự chạy lệnh của hacker.
Bản vá Patch Tuesday ngày 13/10 của Microsoft có một lỗi rất đáng để dân dùng AI agent đọc kỹ: CVE-2026-103572, điểm 8,8 (CVSS 3.1). Lỗi nằm trong Copilot của Visual Studio và SQL Server Management Studio (SSMS). Người phát hiện là Johann Rehberger, một nhà nghiên cứu chuyên về tấn công AI agent.
Điểm hay của vụ này: lỗi không nằm ở mô hình AI, mà ở một dòng kiểm tra tên file.
Copilot có một lớp bảo vệ, và lớp đó bị lách
Ở chế độ agent, Copilot được phép sửa file trong dự án. Riêng các file cấu hình nhạy cảm như .mcp.json (danh sách server MCP mà IDE sẽ khởi chạy) thì Copilot phải hỏi người dùng trước khi sửa.
Vấn đề là bước kiểm tra này so sánh nguyên văn tên file. Windows lại tự bỏ dấu chấm ở cuối tên file. Nên khi Copilot ghi vào .mcp.json. (có thêm dấu chấm):
Bước kiểm tra thấy tên file khác .mcp.json, nên không hỏi người dùng
Windows bỏ dấu chấm cuối, nên thực ra ghi đè đúng file .mcp.json
Mẹo tương tự cũng dùng được với settings.VisualStudio.json và file settings.json của SSMS.
Hacker ra lệnh cho Copilot bằng cách nào?
Bằng prompt injection gián tiếp: giấu chỉ dẫn trong nội dung mà Copilot sẽ đọc, như một file trong repo bạn clone về, tài liệu, hay phản hồi từ một server MCP khác. Copilot đọc phải và làm theo:
Cách 1: thêm một “server MCP” thực chất là lệnh độc vào .mcp.json rồi bật nó lên. IDE khởi chạy server, tức là chạy luôn lệnh của hacker. Cách này dùng được trên cả SSMS.
Cách 2 (chỉ Visual Studio): đổi đường dẫn tới công cụ tìm kiếm ripgrep sang một file độc, để file đó chạy khi Copilot tìm kiếm trong code.
Điều kiện là người dùng đang làm việc với Copilot, và agent đọc phải nội dung do hacker soạn. Mở một repo lạ rồi nhờ Copilot “đọc và sửa giúp” là đủ.
Nên làm gì
Cập nhật Visual Studio và SSMS lên bản tháng 10/2026. Microsoft đã sửa bằng cách chuẩn hóa đường dẫn trước khi kiểm tra.
Cẩn thận với repo lạ. Đừng để agent tự xử lý repo, file hay server MCP không rõ nguồn khi bạn chưa đọc qua nội dung.
Để ý file .mcp.json. Thấy file này thay đổi mà bạn không hề sửa thì phải dừng lại kiểm tra ngay. Lời khuyên này đúng với mọi IDE có agent, không riêng Visual Studio.
Microsoft đánh giá lỗi “khó bị khai thác” và chưa ghi nhận vụ tấn công thực tế nào. Nhưng nhà nghiên cứu đã công bố chi tiết cách khai thác cùng ngày bản vá ra, nên đừng để lâu.
Bài học chung
Các agent viết code ngày càng được giao quyền sửa file và chạy lệnh. Mỗi lớp “hỏi người dùng trước” là một hàng rào quan trọng, và hàng rào đó chỉ chắc bằng dòng code kiểm tra yếu nhất. Ở vụ này, dòng yếu nhất là một phép so sánh chuỗi bỏ quên một dấu chấm.
AI agentprompt injectionMCP/anh/web/copilot-dot-480.webpAI agent · prompt injection · MCP
Mot dau cham cuoi ten file khien Copilot trong Visual Studio chay ma doc CVE-2026-103572 trong Copilot cua Visual Studio va SQL Server Management Studio: noi dung doc trong repo khien agent ghi de file cau hinh MCP ma khong hoi nguoi dung, roi IDE tu chay lenh cua hacker. AI agent prompt injection MCP Ban va Patch Tuesday ngay 13/10 cua Microsoft co mot loi rat dang de dan dung AI agent doc ky: **CVE-2026-103572**, diem **8,8** (CVSS 3.1). Loi nam trong Copilot cua Visual Studio va SQL Server Management Studio (SSMS). Nguoi phat hien la Johann Rehberger, mot nha nghien cuu chuyen ve tan cong AI agent.
Diem hay cua vu nay: loi khong nam o mo hinh AI, ma o **mot dong kiem tra ten file**.

## Copilot co mot lop bao ve, va lop do bi lach
O che do agent, Copilot duoc phep sua file trong du an. Rieng cac file cau hinh nhay cam nhu `.mcp.json` (danh sach server MCP ma IDE se khoi chay) thi Copilot phai **hoi nguoi dung truoc khi sua**.
Van de la buoc kiem tra nay so sanh nguyen van ten file. Windows lai tu bo dau cham o cuoi ten file. Nen khi Copilot ghi vao `.mcp.json.` (co them dau cham):
1. Buoc kiem tra thay ten file khac `.mcp.json`, nen **khong hoi** nguoi dung
2. Windows bo dau cham cuoi, nen thuc ra **ghi de dung file `.mcp.json`**
Meo tuong tu cung dung duoc voi `settings.VisualStudio.json` va file `settings.json` cua SSMS.
## Hacker ra lenh cho Copilot bang cach nao?
Bang **prompt injection gian tiep**: giau chi dan trong noi dung ma Copilot se doc, nhu mot file trong repo ban clone ve, tai lieu, hay phan hoi tu mot server MCP khac. Copilot doc phai va lam theo:
- **Cach 1:** them mot "server MCP" thuc chat la lenh doc vao `.mcp.json` roi bat no len. IDE khoi chay server, tuc la chay luon lenh cua hacker. Cach nay dung duoc tren ca SSMS.
- **Cach 2** (chi Visual Studio): doi duong dan toi cong cu tim kiem ripgrep sang mot file doc, de file do chay khi Copilot tim kiem trong code.
Dieu kien la nguoi dung dang lam viec voi Copilot, va agent doc phai noi dung do hacker soan. Mo mot repo la roi nho Copilot "doc va sua giup" la du.
## Nen lam gi
**Cap nhat Visual Studio va SSMS** len ban thang 10/2026. Microsoft da sua bang cach chuan hoa duong dan truoc khi kiem tra.
**Can than voi repo la.** Dung de agent tu xu ly repo, file hay server MCP khong ro nguon khi ban chua doc qua noi dung.
**De y file `.mcp.json`.** Thay file nay thay doi ma ban khong he sua thi phai dung lai kiem tra ngay. Loi khuyen nay dung voi moi IDE co agent, khong rieng Visual Studio.
Microsoft danh gia loi "kho bi khai thac" va chua ghi nhan vu tan cong thuc te nao. Nhung nha nghien cuu da cong bo chi tiet cach khai thac cung ngay ban va ra, nen dung de lau.
## Bai hoc chung
Cac agent viet code ngay cang duoc giao quyen sua file va chay lenh. Moi lop "hoi nguoi dung truoc" la mot hang rao quan trong, va hang rao do chi chac bang dong code kiem tra yeu nhat. O vu nay, dong yeu nhat la mot phep so sanh chuoi bo quen mot dau cham.
---
Ban co de agent tu sua file cau hinh khong, hay luon bat no hoi truoc? Ke trong [cong dong Vibe Code & Bao Mat](https://www.facebook.com/groups/1867387324580254) nhe.
## Nguon
- [CVE-2026-103572](https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-103572), Microsoft Security Response Center
- [Visual Studio Copilot remote code execution](https://embracethered.com/blog/posts/2026/visual-studio-copilot-remote-code-execution/), Embrace The Red (Johann Rehberger)
- [CVE-2026-103572 Visual Studio Copilot RCE disclosed](https://securityonline.info/cve-2026-103572-visual-studio-copilot-rce-disclosed/), SecurityOnline