Lỗ hổng CVE-2026-59950 trong gói mcp của Python cho phép các kết nối WebSocket không xác thực Origin. Người dùng cần cập nhật ngay lên phiên bản 1.28.1.
Giới thiệu chung
Vào ngày 15/07/2026, cơ sở dữ liệu lỗ hổng quốc gia (NVD) đã công bố thông tin về lỗ hổng bảo mật mang mã hiệu CVE-2026-59950 liên quan đến gói MCP Python SDK (được phát hành dưới tên mcp trên PyPI). Lỗ hổng này được xếp hạng mức độ nghiêm trọng CAO (HIGH) do nguy cơ cho phép các nguồn không xác định thiết lập kết nối WebSocket tới ứng dụng.
MCP Python SDK là thư viện triển khai giao thức Model Context Protocol (MCP) dành cho ngôn ngữ Python, được sử dụng rộng rãi trong việc tích hợp các mô hình trí tuệ nhân tạo và ngữ cảnh dữ liệu.
Chi tiết kỹ thuật và Tác động
Trong các phiên bản trước 1.28.1, phương thức truyền tải WebSocket cũ (đã lỗi thời - deprecated) là mcp.server.websocket.websocket_server chấp nhận các yêu cầu bắt tay WebSocket (WebSocket handshakes) mà không thực hiện kiểm tra các tiêu đề Host hoặc Origin.
Việc thiếu cơ chế kiểm tra này ở cấp độ SDK dẫn đến các rủi ro bảo mật sau:
- Không có khả năng giới hạn nguồn kết nối: SDK không thể kiểm soát hoặc chặn các nguồn (origins) truy cập vào ứng dụng đang mở cổng WebSocket.
- Nguy cơ bị tấn công Cross-Site WebSocket Hijacking (CSWSH): Kẻ tấn công có thể dụ người dùng truy cập vào một trang web độc hại, từ đó gửi các yêu cầu kết nối WebSocket trái phép tới ứng dụng MCP chạy ở phía máy chủ hoặc máy cục bộ của người dùng.
Đối tượng bị ảnh hưởng
Lỗ hổng trực tiếp ảnh hưởng đến:
- Tất cả các hệ thống đang cài đặt gói
mcptrên PyPI phiên bản trước 1.28.1. - Các ứng dụng Python có sử dụng module
mcp.server.websocket.websocket_serverđể lắng nghe kết nối WebSocket.
Khuyến nghị khắc phục
Đội ngũ phát triển dự án đã chính thức khắc phục vấn đề này trong bản cập nhật v1.28.1. Bitech khuyến nghị các nhà phát triển và quản trị viên hệ thống thực hiện ngay các biện pháp sau:
- Nâng cấp phiên bản SDK: Cập nhật thư viện
mcplên phiên bản1.28.1hoặc mới hơn bằng câu lệnh:pip install --upgrade mcp - Thay thế giao thức truyền tải cũ: Do
mcp.server.websocket.websocket_serverđã bị loại bỏ/đánh dấu lỗi thời (deprecated), các nhà phát triển nên rà soát lại mã nguồn và chuyển sang sử dụng các phương thức truyền tải WebSocket hiện đại hơn được hỗ trợ chính thức trong SDK. - Cấu hình bổ sung ở cấp độ mạng: Trong trường hợp chưa thể nâng cấp ngay lập tức, hãy áp dụng tường lửa ứng dụng web (WAF) hoặc Reverse Proxy (như Nginx, HAProxy) để lọc và chặn các yêu cầu WebSocket có tiêu đề
Originkhông hợp lệ.
Nguồn tham khảo
- NVD Detail: CVE-2026-59950
- GitHub Release v1.28.1: Tag v1.28.1
- GitHub Commit: Commit 777b8d0
- GitHub Pull Request: PR #2992
Ngày phát hành: 15/07/2026
Nguồn: NVD — CVE-2026-59950
Tham khảo: https://github.com/modelcontextprotocol/python-sdk/commit/777b8d06710c140e3606b0d4598e2aa48546c266
Tham khảo: https://github.com/modelcontextprotocol/python-sdk/pull/2992
Tham khảo: https://github.com/modelcontextprotocol/python-sdk/releases/tag/v1.28.1