Anthropic đã xác nhận rằng họ sẽ không vá lỗi CVE-2026-30623, một lỗ hổng chèn lệnh (command-injection) nghiêm trọng trong các bộ SDK của Model Context Protocol (MCP), khiến hơn 200.000 phiên bản đang triển khai bị phơi nhiễm. Các nhà phát triển đang dựa vào MCP để tích hợp công cụ nên coi lỗ hổng này là một rủi ro tức thời.

Tại sao lỗ hổng này lại quan trọng

MCP cho phép các ứng dụng chạy bằng LLM gọi các công cụ bên ngoài thông qua một giao thức tiêu chuẩn hóa. Cả bốn SDK chính thức đều đi kèm với một phương thức truyền tải STDIO, vốn chấp nhận văn bản tùy ý từ mô hình và đưa trực tiếp vào shell của máy chủ (host shell). Lỗi CVE-2026-30623 cho phép một mô hình độc hại — hoặc một mô tả công cụ đã bị xâm nhập — chèn bất kỳ lệnh nào mà tiến trình máy chủ có thể thực thi. Anthropic cho biết hành vi này là có chủ đích và từ chối phát hành bản sửa lỗi, nghĩa là lỗ hổng này vẫn tồn tại trong chuỗi cung ứng hiện tại với khoảng 150 triệu lượt tải xuống SDK.

Những gì kẻ tấn công có thể làm

  • Chèn lệnh (Command injection) – Bất kỳ ai có thể chỉnh sửa tệp cấu hình của máy chủ đều có thể chạy các lệnh shell trên máy chủ, có khả năng chiếm quyền truy cập toàn bộ hệ thống.
  • Đầu độc công cụ (Tool poisoning) – Bằng cách nhúng các hướng dẫn độc hại vào mô tả của một công cụ, kẻ tấn công có thể lừa mô hình gửi dữ liệu nhạy cảm, chẳng hạn như thông tin xác thực đám mây, đến một điểm cuối (endpoint) bên ngoài.
  • Xác thực yếu – Một cuộc khảo sát 1.400 máy chủ MCP cho thấy 38,7% không có bất kỳ hình thức xác thực nào, khiến đường dẫn chèn lệnh trở nên cực kỳ dễ dàng tiếp cận.
  • Điểm tin cậy thấp – Chỉ 12,9% các máy chủ MCP được lập chỉ mục đáp ứng các tiêu chí tin cậy cao của cộng đồng, cho thấy phần lớn đang hoạt động với các biện pháp bảo vệ tối thiểu.

Các vectơ này cùng nhau tạo ra một bề mặt tấn công chuỗi cung ứng có thể được khai thác ở quy mô lớn, đặc biệt là trong các môi trường mà máy chủ MCP được tự động khởi tạo từ các kho lưu trữ SDK công khai.

Những thay đổi trong đặc tả sắp tới – và tại sao chúng không giúp ích gì vào lúc này

Một bản ứng viên phát hành (release candidate) cho đặc tả MCP mới dự kiến ra mắt vào ngày 28 tháng 7. Nó đẩy mạnh việc ủy quyền sang OAuth 2.1 và OpenID Connect, đồng thời thêm hỗ trợ cho các máy chủ nằm sau các bộ cân bằng tải tiêu chuẩn. Mặc dù các thay đổi này cải thiện mô hình bảo mật, chúng không khắc phục hồi tố phương thức truyền tải STDIO đang được sử dụng bởi 200.000 phiên bản dễ bị tổn thương. Chúng cũng không ngăn cản các nhà phát triển xuất bản các mô tả công cụ bị đầu độc sau khi cập nhật đặc tả.

Cách các nhà phát triển có thể giảm thiểu rủi ro ngay hôm nay

  • Kiểm tra các máy chủ dựa trên STDIO – Nếu bạn không kiểm soát tệp cấu hình khởi chạy máy chủ MCP, hãy coi nó là không đáng tin cậy và tránh sử dụng phương thức truyền tải STDIO.
  • Kiểm tra siêu dữ liệu (metadata) của công cụ – Xem xét kỹ mô tả của từng công cụ để tìm các lệnh hoặc URL ẩn có thể làm rò rỉ dữ liệu.
  • Bỏ qua các chỉ số phổ biến – Số lượng cài đặt cao không đảm bảo một triển khai an toàn; hãy coi mỗi lần triển khai là một rủi ro riêng biệt.
  • Xác minh việc áp dụng OAuth 2.1 – Xác minh rằng máy chủ thực sự triển khai OAuth 2.1 và OpenID Connect thay vì chỉ tuyên bố trạng thái "tương thích với MCP".

Những gì cần theo dõi tiếp theo

Hãy theo dõi các hướng dẫn triển khai và bất kỳ bản vá tiếp theo nào giải quyết phương thức truyền tải STDIO. Cho đến lúc đó, lộ trình an toàn nhất là thay thế STDIO bằng một lớp truyền tải được kiểm soát tốt hơn hoặc chuyển sang các khung (framework) gọi công cụ thay thế không phụ thuộc vào đường dẫn mã nguồn dễ bị tổn thương.

Tóm lại: Quyết định của Anthropic để lại một bề mặt tấn công lớn và dễ bị khai thác. Các nhà phát triển không thể đảm bảo tính toàn vẹn của máy chủ MCP của họ phải từ bỏ phương thức truyền tải STDIO và xem xét kỹ lưỡng mọi mô tả công cụ để ngăn hệ thống của họ trở thành kênh dẫn cho các lệnh độc hại.

Source: https://dev.to/gentic_news/mcps-cve-2026-30623-anthropic-wont-fix-stdio-command-injection-mh6