Hai lỗ hổng Remote Code Execution (RCE) nghiêm trọng đã được phát hiện trong Cursor IDE, một môi trường phát triển được hỗ trợ bởi AI và được sử dụng bởi hơn một nửa các công ty trong Fortune 500. Các lỗ hổng này, được đặt tên là “DuneSlide”, đều có điểm số nghiêm trọng CVSS 9.8 và được gán mã định danh CVE-2026-50548 và CVE-2026-50549. Chúng cho phép kẻ tấn công phá vỡ hoàn toàn lớp sandbox của Cursor.
Lỗ hổng DuneSlide và Khai thác Zero-Day
Các lỗ hổng này chứng minh rằng các cuộc tấn công prompt injection có thể vượt ra ngoài việc thao túng đầu ra của LLM để xâm nhập vào các luồng mã cổ điển, vốn trước đây chưa từng được coi là một phần của bề mặt tấn công. Kẻ tấn công có thể ghi đè lên các tệp hệ thống quan trọng, chẳng hạn như tệp nhị phân cursorsandbox.
Việc khai thác thành công sẽ chuyển đổi các lệnh terminal bị giới hạn trong sandbox thành RCE hoàn toàn không bị giới hạn, dẫn đến việc chiếm quyền kiểm soát cả máy cục bộ và các không gian làm việc SaaS được kết nối. Điều này đặt ra một mối đe dọa mạng nghiêm trọng đối với các tổ chức.
Cơ chế Khai thác Chi tiết
Cả hai lỗ hổng đều có thể bị kích hoạt mà không cần bất kỳ đặc quyền người dùng nào hoặc sự tương tác cố ý. Người dùng chỉ cần đưa ra một prompt thông thường, vô tình xử lý nội dung do kẻ tấn công kiểm soát từ một nguồn không đáng tin cậy. Ví dụ về các nguồn này bao gồm phản hồi từ máy chủ MCP hoặc kết quả tìm kiếm trên web bị nhiễm độc.
Cursor phiên bản 2.x tự động chạy các lệnh terminal của agent bên trong một sandbox mà không yêu cầu phê duyệt. Thiết kế này nhằm giảm bớt sự mệt mỏi do phải phê duyệt liên tục và giới hạn mức độ leo thang của một cuộc tấn công prompt injection đơn giản.
CVE-2026-50548: Quyền Ghi Phi Tiêu Chuẩn
Lỗ hổng CVE-2026-50548 xuất phát từ cách sandbox của Cursor cấp quyền ghi vào thư mục làm việc của lệnh. Vì working_directory là một tham số tùy chọn, được điều khiển bởi LLM, của công cụ run_terminal_cmd, một cuộc tấn công prompt injection có thể điều hướng agent đặt tham số này thành một đường dẫn do kẻ tấn công chọn, nằm ngoài thư mục gốc của dự án.
Điều này cho phép kẻ tấn công ghi vào các vị trí nhạy cảm, bao gồm tệp trợ giúp cursorsandbox tại /Applications/Cursor.app/Contents/Resources/app/resources/helpers/cursorsandbox, hoặc các tệp như ~/.zshrc và ~/Library/LaunchAgents. Bằng cách này, kẻ tấn công có thể vô hiệu hóa các hạn chế của sandbox cho các lệnh tiếp theo trong cùng một lần injection.
Ví dụ về cách thức kẻ tấn công có thể thao túng tham số working_directory:
run_terminal_cmd(
command="echo 'evil_command' > /evil/path/cursorsandbox",
working_directory="/Applications/Cursor.app/Contents/Resources/app/resources/helpers/"
)
CVE-2026-50549: Lỗi Logic Phân Giải Đường Dẫn
CVE-2026-50549 là một lỗi độc lập trong logic phân giải đường dẫn của Cursor. Một cuộc tấn công prompt injection có thể hướng dẫn agent tạo một symbolic link (symlink) bên trong thư mục dự án, trỏ đến một tệp bên ngoài. Khi bước chuẩn hóa đường dẫn của Cursor thất bại (ví dụ: do mục tiêu không tồn tại hoặc thiếu quyền đọc), agent sẽ quay lại tin tưởng đường dẫn symlink ban đầu chưa được xác thực.
Điều này bỏ qua các kiểm tra ghi ngoài giới hạn, cho phép kẻ tấn công ghi đè lên cùng một tệp trợ giúp cursorsandbox thông qua symlink và đạt được RCE đặc quyền mà không cần bất kỳ tương tác nào từ người dùng. Việc bỏ qua các kiểm tra bảo mật này là một rủi ro bảo mật nghiêm trọng.
Kịch bản khai thác thông qua symlink:
# Kẻ tấn công tạo symlink trỏ đến tệp đích nhạy cảm
run_terminal_cmd(
command="ln -sf /path/to/attacker/controlled/file /Applications/Cursor.app/Contents/Resources/app/resources/helpers/cursorsandbox",
working_directory="~/project/"
)
# Cursor xử lý symlink và ghi đè lên tệp gốc
# ... (logic nội bộ của Cursor)
Tác động Hệ thống và Khuyến nghị
Các lỗ hổng DuneSlide nhấn mạnh rằng việc sử dụng sandbox đơn thuần không đủ để ngăn chặn các agent lập trình tự động khi các trường hợp ngoại lệ trong xác thực tham số và phân giải đường dẫn vẫn có thể bị khai thác thông qua prompt injection. Điều này cho thấy sự cần thiết của các biện pháp phòng ngừa sâu rộng hơn.
Các nhà nghiên cứu tại Cato AI Labs nhấn mạnh rằng họ đang tiếp tục công bố các phát hiện liên quan đến các agent lập trình phổ biến khác, điều này báo hiệu rằng các biện pháp phòng thủ ở cấp độ kiến trúc hệ thống, chứ không chỉ các bản vá lỗi đơn lẻ, là cần thiết để bảo mật các công cụ phát triển dựa trên AI.
Để giảm thiểu rủi ro, các tổ chức nên xem xét các biện pháp sau:
- Giám sát chặt chẽ các hoạt động bất thường trong môi trường phát triển.
- Áp dụng các chính sách kiểm soát truy cập nghiêm ngặt và hạn chế quyền ghi vào các thư mục hệ thống nhạy cảm.
- Cập nhật bản vá bảo mật ngay khi có sẵn từ nhà cung cấp phần mềm.
- Đào tạo người dùng về các rủi ro của prompt injection và xử lý nội dung từ các nguồn không tin cậy.
Việc phát hiện và ứng phó nhanh chóng với các mối đe dọa mạng như lỗ hổng DuneSlide là yếu tố then chốt để duy trì an ninh mạng. Khuyến nghị về việc áp dụng các bản vá bảo mật kịp thời là một phần quan trọng trong chiến lược bảo vệ hệ thống.
Thông tin chi tiết về các lỗ hổng tương tự và các phân tích chuyên sâu có thể được tìm thấy trên các nguồn uy tín như NVD (National Vulnerability Database) tại nvd.nist.gov.










