Một bộ ba lỗ hổng bảo mật đã được tiết lộ trong mcp-server-git, máy chủ Git Model Context Protocol (MCP) chính thức do Anthropic duy trì. Các lỗ hổng này có thể bị khai thác để đọc hoặc xóa các tệp tùy ý và thực thi mã trong một số điều kiện nhất định.
"Những lỗi này có thể bị khai thác thông qua prompt injection, nghĩa là kẻ tấn công có thể tác động đến những gì trợ lý AI đọc (một tệp README độc hại, mô tả sự cố bị nhiễm độc, một trang web bị xâm nhập) có thể vũ khí hóa các lỗ hổng này mà không cần truy cập trực tiếp vào hệ thống của nạn nhân," nhà nghiên cứu Yarden Porat của Cyata cho biết trong một báo cáo được chia sẻ với The Hacker News.
Mcp-server-git là một gói Python và một máy chủ MCP cung cấp một bộ công cụ tích hợp để đọc, tìm kiếm và thao tác các kho lưu trữ Git theo chương trình thông qua các mô hình ngôn ngữ lớn (LLMs).
Các Lỗ hổng Bảo mật Được Phát hiện
Các vấn đề bảo mật, đã được khắc phục trong các phiên bản 2025.9.25 và 2025.12.18 sau khi tiết lộ có trách nhiệm vào tháng 6 năm 2025, được liệt kê dưới đây:
- CVE-2025-68143 (CVSS score: 8.8 [v3] / 6.5 [v4]) - Một lỗ hổng path traversal phát sinh do công cụ git_init chấp nhận các đường dẫn hệ thống tệp tùy ý trong quá trình tạo kho lưu trữ mà không có xác thực (Đã khắc phục trong phiên bản 2025.9.25)
- CVE-2025-68144 (CVSS score: 8.1 [v3] / 6.4 [v4]) - Một lỗ hổng argument injection phát sinh do các hàm git_diff và git_checkout truyền trực tiếp các đối số do người dùng kiểm soát tới các lệnh CLI của Git mà không có làm sạch (Đã khắc phục trong phiên bản 2025.12.18)
- CVE-2025-68145 (CVSS score: 7.1 [v3] / 6.3 [v4]) - Một lỗ hổng path traversal phát sinh do thiếu xác thực đường dẫn khi sử dụng cờ --repository để giới hạn các hoạt động trong một đường dẫn kho lưu trữ cụ thể (Đã khắc phục trong phiên bản 2025.12.18)
Khai thác thành công các lỗ hổng trên có thể cho phép kẻ tấn công biến bất kỳ thư mục nào trên hệ thống thành kho lưu trữ Git, ghi đè bất kỳ tệp nào bằng một diff trống và truy cập bất kỳ kho lưu trữ nào trên máy chủ.
Kịch bản Tấn công Kết hợp
Trong một kịch bản tấn công được Cyata ghi lại, ba lỗ hổng có thể được kết hợp với Filesystem MCP server để ghi vào tệp ".git/config" (thường nằm trong thư mục .git ẩn) và đạt được remote code execution bằng cách kích hoạt lệnh gọi git_init thông qua prompt injection.
- Sử dụng git_init để tạo kho lưu trữ trong một thư mục có thể ghi
- Sử dụng Filesystem MCP server để ghi một tệp .git/config độc hại với clean filter
- Ghi tệp .gitattributes để áp dụng filter cho các tệp nhất định
- Ghi một shell script với payload
- Ghi một tệp kích hoạt filter
- Gọi git_add, thực thi clean filter, chạy payload
Để phản ứng với những phát hiện này, công cụ git_init đã bị xóa khỏi gói và thêm xác thực bổ sung để ngăn chặn các kiểu tấn công path traversal. Người dùng gói Python được khuyến nghị cập nhật lên phiên bản mới nhất để bảo vệ tối ưu.
"Đây là máy chủ Git MCP chính tắc, là máy chủ mà các nhà phát triển dự kiến sẽ sao chép," Shahar Tal, CEO và đồng sáng lập của công ty bảo mật AI Agentic Cyata, cho biết. "Nếu các ranh giới bảo mật bị phá vỡ ngay cả trong triển khai tham chiếu, đó là tín hiệu cho thấy toàn bộ hệ sinh thái MCP cần được xem xét kỹ lưỡng hơn. Đây không phải là các trường hợp hiếm gặp hay cấu hình lạ, chúng hoạt động ngay lập tức."