2026년 09월 16일 2m read

DuneSlide: Cursor IDE에서 발견된 제로클릭 프롬프트 인젝션 기반 치명적 RCE 취약점 두 건

Itay Ravia
Itay Ravia

TL;DR

Cato AI Labs는 Fortune 500대 기업의 절반 이상이 사용하는 인기 개발 환경인 Cursor IDE에서 치명적인 원격 코드 실행(RCE) 취약점 두 건을 발견했습니다. Cato가 “DuneSlide”라고 명명한 이 두 가지 RCE 취약점은 모두 CVSS 점수 9.8점을 기록했으며, IDE의 샌드박스 환경을 탈출하는 문제를 포함하여 CVE ID CVE-2026-50548 및 CVE-2026-50549를 부여받았습니다.

이 취약점들은 프롬프트 인젝션이 어떻게 LLM 계층을 넘어, 기존에 공격 표면의 일부로 간주되지 않았던 코드 경로의 고전적인 취약점을 노출시킬 수 있는지 함께 보여줍니다.

이러한 심각한 취약점 중 하나라도 악용하면 위협 행위자는 중요한 시스템 파일(예: cursorsandbox 바이너리)을 덮어써서 샌드박스 처리된 명령을 샌드박스 없는 RCE로 변환하고, 호스트 시스템과 연결된 SaaS 작업 공간 모두에서 전체 시스템을 손상시킬 수 있습니다.

핵심 요약

  • 심각한 취약점 발견: Cato AI Labs는 Cursor IDE에서 서로 다른 두 건의 치명적 취약점을 확인했으며, 이 취약점들은 사용자 기기에서 샌드박스 제약 없이 원격 코드 실행(RCE)을 가능하게 합니다.
  • 제로 클릭 프롬프트 인젝션을 통한 임의 파일 쓰기: 이러한 독립적인 구조적 결함으로 인해 위협 행위자는 제로 클릭 프롬프트 인젝션을 활용하여 개발자의 로컬 시스템에 임의의 파일을 쓸 수 있습니다.
  • 샌드박스 탈출 및 RCE: 이러한 기능을 악용하면 공격자는 터미널 샌드박스를 벗어나 완전한 원격 코드 실행(RCE)을 달성하고 시스템 전체를 장악할 수 있습니다.
  • 제로 클릭 공격 벡터: 이 익스플로잇에는 사용자의 사전 권한 승인이나 특정 사용자의 상호작용이 필요하지 않습니다. 피해자가 악의 없는 프롬프트를 요청할 때 MCP 서버나 웹 검색 결과와 같이 신뢰할 수 없는 출처로부터 위협 행위자가 제어하는 페이로드를 무심코 수집하게 될 때 촉발됩니다.

기술 개요

Cursor 샌드박스 및 공격 벡터

Cursor 2.x는 기본적으로 샌드박스 내에서 터미널 명령을 자동으로 실행하며, 이는 사용자에게 승인을 요청하지 않고 작동합니다. 이 기능은 위협 행위자가 단순한 프롬프트 인젝션을 RCE로 쉽게 변환하는 것을 방지하는 동시에 승인 피로를 방지하기 위해 구축되었습니다.

취약점 #1: 작업 디렉터리 매개변수 조작

첫 번째 취약점은 샌드박스가 툴 매개변수를 기반으로 보안 경계를 구성하는 방식에서 비롯됩니다. 샌드박스 처리된 명령이 실행될 때 Cursor는 현재 작업 디렉터리에 쓰기를 허용하는 안전벨트 정책을 구축합니다.

  • 명령 실행의 작업 디렉터리를 프로젝트 루트로 설정하는 것이 기본 동작이지만, working_directory는 run_terminal_cmd 툴의 선택적 매개변수입니다.
  • 이 결함은 LLM이 이 매개변수에 기본값이 아닌 값을 할당할 때 해당 경로가 샌드박스의 허용된 쓰기 목록에 맹목적으로 추가되기 때문에 존재합니다.
  • (악의 없는 MCP 서버 요청 또는 오염된 웹 결과를 통해 제공되는) 프롬프트 인젝션은 LLM이 working_directory를 프로젝트 범위를 벗어난 위협 행위자 제어 경로로 설정하도록 유도할 수 있습니다.
  • cursorsandbox 실행 파일(/Applications/Cursor.app/Contents/Resources/app/resources/helpers/cursorsandbox)에 씀으로써, 위협 행위자는 향후 명령이 샌드박스 제한 없이 실행되도록 보장하므로, 동일한 프롬프트 인젝션 내의 향후 명령은 샌드박스 없는 RCE로 이어집니다.
  • 다른 취약한 경로로는 ~/.zshrc, ~/.zshenv, 또는 ~/Library/LaunchAgents가 있습니다.

전통적으로 원격 공격자는 샌드박스 처리된 작업의 작업 디렉터리를 제어할 수 없습니다. 그러나 코딩 에이전트는 고유한 소프트웨어이므로 이 취약점에서 프롬프트 인젝션은 코드의 해당 부분으로 가는 통로 역할을 합니다.

취약점 #2: 심볼릭 링크 정규화 실패

두 번째 취약점은 첫 번째 취약점과는 별개로, Cursor의 파일 경로 처리 과정에서 발생하는 예외적 상황에 존재합니다. 이를 통해 공격자는 심볼릭 링크를 이용해 허용된 경로 밖으로 파일을 쓰지 못하도록 하는 보호 장치를 우회할 수 있습니다.

  • (악의 없는 MCP 서버 요청 또는 오염된 웹 결과를 통해 제공되는) 프롬프트 인젝션은 Cursor 에이전트에게 프로젝트 디렉터리 외부에 있는 파일을 가리키는 심볼릭 링크를 프로젝트 디렉터리 내에 생성하도록 지시할 수 있습니다.
  • 기본적으로 Cursor 에이전트는 경로를 정규화(심볼릭 링크 확인)하여 실제 위치를 파악하고 프로젝트 루트 내에 있는지 확인하려고 시도합니다.
  • 이 취약점은 정규화 로직에 위험한 폴백이 포함되어 있기 때문에 발생합니다. 정규화에 실패하는 경우(예: 경로가 존재하지 않거나 경로의 디렉터리 중 하나에 대한 읽기 권한이 없는 경우) Cursor는 프로젝트 디렉터리 내부의 원래 심볼릭 링크 경로를 사용하는 것으로 폴백합니다.
  • 공격자는 쓰기 전용 심볼릭 링크를 생성할 수 있으며, 이로 인해 Cursor가 확인된 경로를 대상 경로가 아닌 심볼릭 링크 경로로 가정하도록 강제할 수 있습니다. 이로 인해 최종 목적지가 범위를 벗어났다는 탐지에 실패하게 되고, 공격자는 cursorsandbox 실행 파일(/Applications/Cursor.app/Contents/Resources/app/resources/helpers/cursorsandbox)에 다시 한번 링크할 수 있게 됩니다.
  • 그런 다음 공격자는 쓰기 도구를 사용하여 심볼릭 링크를 통해 이 외부 파일을 덮어쓰고, 동일한 프롬프트 인젝션의 일부로 실행되는 후속 명령에 대한 샌드박스를 무력화하여 RCE를 발생시킵니다.

대부분의 고전적인 소프트웨어에서 외부 공격자는 원격으로 피해자의 컴퓨터에 심볼릭 링크를 생성할 수 없습니다. 이 사례에서 공격자는 프롬프트 인젝션을 통해 Cursor 에이전트를 시스템 전체 장악으로 이어질 수 있는 복잡한 작업을 수행하는 교두보로 악용했습니다.

책임 있는 공개

Cato AI Labs는 AI 생태계를 보호하는 것이 중요하다고 믿으며 DuneSlide에 대한 표준 책임 있는 공개 관행을 준수했습니다.

  • 2월 19일: 취약점이 Cursor 팀에 보고되었습니다.
  • 2월 23일: Cursor 측에서 취약점 제보를 반려했습니다. 반려 사유: Cursor의 위협 모델은 공식 Linear.app 워크스페이스처럼 MCP 서버 자체가 일반적이고 무해한 통합 서비스인 경우에도, 해당 MCP 서버가 악용될 가능성을 고려하지 않습니다.
  • 2월 26일: 사안이 심각하여 두 문제 모두 Cursor 보안팀에 직접 에스컬레이션했습니다. 보안팀은 종결했던 사안을 다시 검토하기로 하고, 보고된 취약점의 정밀 조사에 착수했습니다.
  • 4월 1일: Cursor 팀은 작업 디렉터리 취약점 패치가 Cursor 3.0 클라이언트(4월 2일 출시)와 함께 배포될 것이라고 밝혔습니다.
  • 6월 1일: Cursor 팀은 링크 대상 취약점 패치도 Cursor 3.0과 함께 배포되었다고 알려왔습니다.
  • 6월 5일: CVE-2026-50548 및 CVE-2026-50549 ID가 할당되어 해당 취약점의 심각성을 확인했습니다.

결론

DuneSlide는 LLM에 자율적인 명령 실행 환경을 맡기는 것이 구조적으로 얼마나 위험한지 시사합니다. 샌드박싱은 필수적인 방어 수단이지만, 매개변수 검증 및 경로 확인 예외 처리에서 드러난 결함은 제로 클릭 프롬프트 인젝션이 격리된 논리적 결함을 교묘하게 조작하여 전체 시스템을 장악할 수 있음을 명백히 보여줍니다. 만약 이러한 문제가 프롬프트 인젝션을 통한 단일 침해 사례였다면, 이를 특정 취약점 탓으로 돌렸을지도 모릅니다. 그러나 Cato AI Labs는 보다 체계적인 보호 접근 방식이 필요함을 강조하며 널리 사용되는 모든 코딩 에이전트의 취약점을 책임감 있게 공개하는 과정을 진행하고 있습니다. 계속 지켜봐 주시기 바랍니다.

Related Topics

Itay Ravia

Itay Ravia

Itay Ravia는 과거 Aim Security의 연구 부서였던 Cato AI Labs의 책임자입니다. 취약점 및 AI 연구자인 Itay는 문제를 해결하는 방법을 찾기 위해 무언가를 망가뜨리는 일을 가장 좋아합니다. Talpiot 졸업생인 그는 Unit 8200의 전 연구 책임자이자 Israel Defense Award 수상자입니다. 그는 신진 보안 전문가들을 멘토링하고, “전통적인” 취약점 연구, 생명과학 맥락의 AI 연구, AI 에이전트를 비롯한 다양한 기술 주제에 대해 발표해 왔습니다.

Read More