Lỗ hổng nghiêm trọng trong MCP của Anthropic khiến máy của nhà phát triển dễ bị khai thác từ xa

Lỗ hổng nghiêm trọng trong MCP của Anthropic khiến máy của nhà phát triển dễ bị khai thác từ xa

Các nhà nghiên cứu an ninh mạng vừa phát hiện ra một lỗ hổng bảo mật nghiêm trọng trong dự án Model Context Protocol (MCP) Inspector của công ty trí tuệ nhân tạo (AI) Anthropic. Lỗ hổng này có thể dẫn đến việc thực thi mã từ xa (RCE), cho phép kẻ tấn công giành quyền kiểm soát hoàn toàn máy tính của nhà phát triển.

Lỗ hổng này, được theo dõi với mã CVE-2025-49596, có điểm CVSS là 9.4 trên thang điểm tối đa 10.0, cho thấy mức độ nghiêm trọng rất cao.

Avi Lumelsky của Oligo Security cho biết: “Đây là một trong những vụ RCE nghiêm trọng đầu tiên trong hệ sinh thái MCP của Anthropic, mở ra một loại tấn công mới dựa trên trình duyệt nhắm vào các công cụ dành cho nhà phát triển AI.”

“Với khả năng thực thi mã trên máy của nhà phát triển, kẻ tấn công có thể đánh cắp dữ liệu, cài đặt cửa hậu và di chuyển ngang qua các mạng – làm nổi bật những rủi ro nghiêm trọng cho các nhóm AI, các dự án mã nguồn mở và những doanh nghiệp sử dụng MCP.”

MCP, được giới thiệu bởi Anthropic vào tháng 11 năm 2024, là một giao thức mở tiêu chuẩn hóa cách các ứng dụng mô hình ngôn ngữ lớn (LLM) tích hợp và chia sẻ dữ liệu với các nguồn và công cụ bên ngoài.

MCP Inspector là một công cụ dành cho nhà phát triển để kiểm tra và gỡ lỗi các máy chủ MCP, cho phép hệ thống AI truy cập và tương tác với thông tin vượt ra ngoài dữ liệu huấn luyện của nó.

Tuy nhiên, cần lưu ý rằng máy chủ không nên được kết nối với bất kỳ mạng không tin cậy nào vì nó có quyền tạo các tiến trình cục bộ và có thể kết nối với bất kỳ máy chủ MCP nào được chỉ định. Điều này, cùng với việc các nhà phát triển thường sử dụng các cài đặt mặc định thiếu xác thực và mã hóa, tạo ra một con đường tấn công mới với những rủi ro bảo mật đáng kể.

Lumelsky nói: “Cấu hình sai này tạo ra một bề mặt tấn công đáng kể, vì bất kỳ ai có quyền truy cập vào mạng cục bộ hoặc internet công cộng đều có khả năng tương tác và khai thác các máy chủ này.”

Cuộc tấn công này kết hợp một lỗ hổng bảo mật đã biết ảnh hưởng đến các trình duyệt web hiện đại, được gọi là 0.0.0.0 Day, với một lỗ hổng giả mạo yêu cầu liên trang (CSRF) trong Inspector (CVE-2025-49596) để chạy mã tùy ý trên máy chủ chỉ bằng cách truy cập một trang web độc hại.

Các nhà phát triển MCP Inspector cho biết: “Các phiên bản MCP Inspector dưới 0.14.1 dễ bị tấn công thực thi mã từ xa do thiếu xác thực giữa máy khách và proxy Inspector, cho phép các yêu cầu chưa được xác thực khởi chạy các lệnh MCP qua stdio.”

0.0.0.0 Day là một lỗ hổng 19 năm tuổi trong các trình duyệt web hiện đại, có thể cho phép các trang web độc hại xâm nhập vào các mạng cục bộ. Nó lợi dụng việc các trình duyệt không thể xử lý an toàn địa chỉ IP 0.0.0.0, dẫn đến thực thi mã.

Lumelsky giải thích: “Kẻ tấn công có thể khai thác lỗ hổng này bằng cách tạo một trang web độc hại gửi các yêu cầu đến các dịch vụ localhost đang chạy trên máy chủ MCP, từ đó có được khả năng thực thi các lệnh tùy ý trên máy của nhà phát triển.”

“Việc các cấu hình mặc định cho phép các máy chủ MCP tiếp xúc với các loại tấn công này có nghĩa là nhiều nhà phát triển có thể vô tình mở một cửa hậu vào máy của họ.”

Cụ thể, PoC (proof-of-concept) sử dụng điểm cuối Server-Sent Events (SSE) để gửi một yêu cầu độc hại từ một trang web do kẻ tấn công kiểm soát để đạt được RCE trên máy đang chạy công cụ này, ngay cả khi nó đang lắng nghe trên localhost (127.0.0.1).

Điều này hoạt động vì địa chỉ IP 0.0.0.0 cho hệ điều hành biết lắng nghe trên tất cả các địa chỉ IP được gán cho máy, bao gồm cả giao diện loopback cục bộ (tức là localhost).

Trong một kịch bản tấn công giả định, kẻ tấn công có thể thiết lập một trang web giả mạo và lừa nhà phát triển truy cập nó. Tại thời điểm đó, JavaScript độc hại được nhúng trong trang sẽ gửi một yêu cầu đến 0.0.0.0:6277 (cổng mặc định mà proxy chạy), hướng dẫn máy chủ proxy MCP Inspector thực thi các lệnh tùy ý.

Cuộc tấn công cũng có thể tận dụng các kỹ thuật DNS rebinding để tạo một bản ghi DNS giả mạo trỏ đến 0.0.0.0:6277 hoặc 127.0.0.1:6277 để vượt qua các biện pháp kiểm soát bảo mật và giành quyền RCE.

Sau khi được tiết lộ có trách nhiệm vào tháng 4 năm 2025, lỗ hổng này đã được các người bảo trì dự án giải quyết vào ngày 13 tháng 6 với việc phát hành phiên bản 0.14.1. Các bản sửa lỗi thêm một mã thông báo phiên vào máy chủ proxy và kết hợp xác thực nguồn gốc để chặn hoàn toàn vectơ tấn công.

Oligo cho biết: “Các dịch vụ Localhost có vẻ an toàn nhưng thường tiếp xúc với internet công cộng do khả năng định tuyến mạng trong trình duyệt và máy khách MCP.”

“Việc giảm thiểu rủi ro bổ sung Authorization bị thiếu trong mặc định trước khi sửa lỗi, cũng như [xác minh các tiêu đề Host và Origin](https://github.com/modelcontextprotocol/inspector?tab=readme-ov-file#dns-rebinding-protection) trong HTTP, đảm bảo rằng máy khách thực sự truy cập từ một miền đã biết, đáng tin cậy. Giờ đây, theo mặc định, máy chủ chặn các cuộc tấn công DNS rebinding và CSRF.”

Việc phát hiện ra CVE-2025-49596 diễn ra vài ngày sau khi Trend Micro công bố chi tiết về một lỗi SQL injection chưa được vá trong máy chủ SQLite MCP của Anthropic, có thể bị khai thác để gieo các lệnh độc hại, đánh cắp dữ liệu và kiểm soát quy trình làm việc của tác nhân.

Nhà nghiên cứu Sean Park cho biết: “Các tác nhân AI thường tin tưởng dữ liệu nội bộ cho dù từ cơ sở dữ liệu, mục nhập nhật ký hay bản ghi được lưu trong bộ nhớ cache, các tác nhân thường coi đó là an toàn.”

“Kẻ tấn công có thể khai thác sự tin tưởng này bằng cách nhúng một lệnh tại thời điểm đó và sau đó có thể yêu cầu tác nhân gọi các công cụ mạnh mẽ (email, cơ sở dữ liệu, API đám mây) để đánh cắp dữ liệu hoặc di chuyển ngang, tất cả trong khi bỏ qua các kiểm tra bảo mật trước đó.”

Mặc dù dự án mã nguồn mở này được coi là một triển khai tham khảo và không dành cho mục đích sử dụng sản xuất, nhưng nó đã được phân nhánh hơn 5.000 lần. Kho lưu trữ GitHub đã được [lưu trữ](https://github.com/modelcontextprotocol/servers-archived/blob/main/src/sqlite/src/mcp_server_sqlite/server.py) vào ngày 29 tháng 5 năm 2025, có nghĩa là không có kế hoạch vá các thiếu sót.

Park nói: “Bài học rút ra rất rõ ràng. Nếu chúng ta cho phép những sai lầm của ứng dụng web ngày hôm qua xâm nhập vào cơ sở hạ tầng tác nhân ngày nay, chúng ta sẽ trao cho kẻ tấn công một con đường dễ dàng từ SQL injection đến xâm phạm tác nhân hoàn toàn.”

Những phát hiện này cũng theo sau một báo cáo từ Backslash Security cho thấy hàng trăm máy chủ MCP dễ bị hai cấu hình sai chính: Cho phép thực thi lệnh tùy ý trên máy chủ do xử lý đầu vào không được kiểm tra và quyền quá mức, đồng thời khiến chúng có thể truy cập được đối với bất kỳ bên nào trên cùng một mạng cục bộ do chúng được liên kết rõ ràng với 0.0.0.0, một lỗ hổng được gọi là NeighborJack.

Backslash Security cho biết: “Hãy tưởng tượng bạn đang viết mã trong một không gian làm việc chung hoặc quán cà phê. Máy chủ MCP của bạn đang chạy âm thầm trên máy của bạn.”

“Người ngồi gần bạn, nhấm nháp ly latte của họ, giờ đây có thể truy cập máy chủ MCP của bạn, mạo danh các công cụ và có khả năng chạy các hoạt động thay mặt bạn. Nó giống như để máy tính xách tay của bạn mở – và không khóa cho mọi người trong phòng.”

Vì MCP, theo thiết kế, được xây dựng để truy cập các nguồn dữ liệu bên ngoài, chúng có thể đóng vai trò là những con đường bí mật cho prompt injection và context poisoning, do đó ảnh hưởng đến kết quả của LLM khi phân tích cú pháp dữ liệu từ một trang web do kẻ tấn công kiểm soát có chứa các hướng dẫn ẩn.

Nhà nghiên cứu Micah Gold cho biết: “Một cách để bảo mật máy chủ MCP có thể là xử lý cẩn thận bất kỳ văn bản nào được thu thập từ một trang web hoặc cơ sở dữ liệu để tránh context poisoning.”

“Tuy nhiên, cách tiếp cận này làm phình to các công cụ – bằng cách yêu cầu mỗi công cụ riêng lẻ phải triển khai lại cùng một tính năng bảo mật – và khiến người dùng phụ thuộc vào giao thức bảo mật của từng công cụ MCP riêng lẻ.”

Backslash Security lưu ý rằng một cách tiếp cận tốt hơn là định cấu hình các quy tắc AI với máy khách MCP để bảo vệ chống lại các máy chủ dễ bị tấn công. Các quy tắc này đề cập đến các lệnh hoặc hướng dẫn được xác định trước được gán cho một tác nhân AI để hướng dẫn hành vi của nó và đảm bảo rằng nó không vi phạm các giao thức bảo mật.

Gold cho biết: “Bằng cách huấn luyện các tác nhân AI trở nên hoài nghi và nhận thức được mối đe dọa do context poisoning gây ra thông qua các quy tắc AI, máy khách MCP có thể được bảo mật chống lại các máy chủ MCP.”

**Giải thích thuật ngữ:**

* **RCE (Remote Code Execution – Thực thi mã từ xa):** Một lỗ hổng bảo mật cho phép kẻ tấn công chạy mã độc trên một máy tính từ xa.
* **CVE (Common Vulnerabilities and Exposures):** Một hệ thống đặt tên tiêu chuẩn cho các lỗ hổng bảo mật đã biết.
* **CVSS (Common Vulnerability Scoring System):** Một hệ thống chấm điểm tiêu chuẩn để đánh giá mức độ nghiêm trọng của các lỗ hổng bảo mật.
* **MCP (Model Context Protocol):** Một giao thức mở tiêu chuẩn hóa cách các ứng dụng mô hình ngôn ngữ lớn (LLM) tích hợp và chia sẻ dữ liệu với các nguồn và công cụ bên ngoài.
* **LLM (Large Language Model):** Một mô hình ngôn ngữ lớn, được huấn luyện trên một lượng lớn dữ liệu văn bản.
* **CSRF (Cross-Site Request Forgery – Giả mạo yêu cầu liên trang):** Một loại tấn công trong đó kẻ tấn công lừa người dùng thực hiện các hành động không mong muốn trên một trang web mà họ đã đăng nhập.
* **SQL Injection:** Một kỹ thuật tấn công bằng cách chèn mã SQL độc hại vào các truy vấn SQL.
* **Prompt Injection:** Một kỹ thuật tấn công bằng cách chèn các lệnh độc hại vào các lệnh mà một mô hình ngôn ngữ lớn (LLM) sử dụng.
* **Context Poisoning:** Một kỹ thuật tấn công bằng cách làm ô nhiễm dữ liệu mà một mô hình ngôn ngữ lớn (LLM) sử dụng.

Chia sẻ với

Share on facebook
Share on twitter
Share on linkedin
Share on pinterest

Bài viết liên quan

CISA cảnh báo về các chiến dịch phần mềm gián điệp đang hoạt động nhắm vào người dùng Signal và …

Nhóm tin tặc khét tiếng Molerats, hay còn gọi là GazaHackerTeam, vừa tái xuất giang hồ sau hai tháng im …

Một loại mã độc Android mới nổi lên, được gọi là SuperCard X, đang tạo ra mối đe dọa lớn …

Ba lỗ hổng React mới xuất hiện sau React2Shell CVE-2025-55183, CVE-2025-55184 và CVE-2025-67779 cần được chú ý ngay lập tức Nhóm Nghiên …