FlawOpen

flawopen.com/AI Security/microsoft-copilot-cosnitch-cve-2026-24301-autorun-information-disclosure

● CVE-2026-24301 · CVSS 8.8[3] · 높음
보안 연구 · FlawOpen

CoSnitch: Microsoft Copilot CVE-2026-24301 prompt 자동 실행 취약점

Varonis는 조작된 Copilot Personal 링크가 prompt를 자동 실행해 연결된 데이터를 노출할 수 있었다고 보고했습니다. Microsoft는 기업 고객은 영향을 받지 않았다고 밝혔으며, 2026년 8월 18일 서비스 측 수정 사항을 배포했습니다.[2], [3], [4], [5]

CVSS 벡터CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H[3]
💡 알기 쉬운 설명 (ELI5)

방문자의 메모를 읽고 “보내세요”라는 말을 기다리는 접수 담당자를 떠올려 보세요. 메모에 숨겨진 스위치가 있으면 메모를 여는 즉시 담당자가 행동하고, 허가된 주소록과 우편 서비스를 이용해 정보를 밖으로 보냅니다. Varonis에 따르면 CoSnitch는 prompt 자동 실행을 Copilot의 연결 데이터 접근 및 웹 가져오기 기능과 결합했습니다. 링크를 클릭해야 했지만, 보고된 결함은 페이지가 열린 뒤의 확인 절차를 없앴습니다.[4], [5]

핵심 개념 및 용어

CVE-2026-24301
Microsoft의 CVE 기록은 Copilot의 정보 공개 취약점으로 설명합니다. CWE-77과 CVSS 3.1 8.8(높음)을 지정하며, 기록된 벡터에는 사용자 상호작용이 필요합니다. Varonis가 보고한 공격 체인은 Copilot Personal에 영향을 줬습니다. Microsoft는 Dark Reading에 기업 고객은 영향을 받지 않았다고 밝혔습니다. Microsoft CVE 기록에는 제품이 Copilot Web으로 표기되어 있지만, 공개 기록에는 세부 제품 버전이나 빌드 범위가 없습니다.[2], [3], [1], [4], [5]
CoSnitch
Varonis Threat Labs가 보고한 prompt URL 매개변수, 자동 실행, 연결된 앱 조회, 외부 URL 가져오기의 연쇄에 붙인 이름입니다. 이 메커니즘 설명은 연구자 보고에 근거하며 Microsoft의 소스 코드 공개가 아닙니다.[4], [5]
Prompt prefill and auto-run
Varonis는 Copilot의 q 매개변수가 prompt를 미리 채우고 문서화되지 않은 autorun 매개변수가 페이지 로드 시 실행했다고 보고합니다. 조작된 링크를 클릭하는 과정은 여전히 필요했습니다.[4]
Connected-app authorization
어시스턴트는 사용자가 연결하고 권한을 부여한 데이터에 접근할 수 있습니다. CoSnitch의 보고된 영향은 Copilot에 이미 부여된 접근 권한에 의존했으며 Gmail, Google Drive 또는 OAuth 자체를 침해한 것은 아닙니다.[4], [5]
CWE-77: Command Injection
Microsoft CNA 기록은 이를 명령에 사용되는 특수 요소의 부적절한 무력화로 분류합니다. 공개 기록에는 Microsoft 구현이나 소스 코드 패치가 없으므로 이 문서는 내부 명령 경계를 추정하지 않습니다.[2], [3]

프레임워크 매핑

단계별 공격 실행 흐름

단계 1

사용자가 조작된 Copilot 링크를 클릭한다

Varonis는 링크가 Copilot Personal을 대상으로 하며 prompt 미리 채우기 매개변수와 문서화되지 않은 자동 실행 매개변수를 결합했다고 보고합니다. 클릭이 필요하다는 점은 사용자 상호작용이 필요한 CVE 벡터와 일치합니다. Microsoft CVE 기록은 영향을 받는 제품을 Copilot Web으로 표기하지만 상세 빌드 범위는 제공하지 않습니다.[4], [2], [5]

단계 2

두 번째 확인 없이 prompt가 실행된다

Varonis에 따르면 자동 실행 동작은 Copilot이 로드될 때 미리 채운 prompt를 실행했습니다. 연구 보고서는 링크를 연 뒤 Enter를 누를 필요가 없었다고 설명합니다. Microsoft 공지에는 실제 코드나 자세한 트리거 조건이 공개되지 않았습니다.[4], [5]

단계 3

Copilot이 계정에 이미 연결된 데이터를 조회한다

Varonis는 시연에서 Copilot 연결 앱의 권한을 사용해 일부 이메일, 일정 또는 파일 정보를 가져왔다고 설명합니다. 이는 연구자가 보고한 영향 경로이며, 모든 계정에서 모든 커넥터가 켜져 있었다거나 커넥터 자체가 침해되었다는 뜻은 아닙니다.[4], [5]

단계 4

웹 가져오기 기능이 데이터 반출 경로를 만든다

Varonis는 prompt가 Copilot에 가져온 데이터가 포함된 외부 URL을 불러오도록 지시할 수 있었다고 보고합니다. 이 문서는 보고서의 실제 URL, 요청 문자열 또는 반출 payload를 재현하지 않습니다. 공개 당시 Varonis는 실제 악용 증거가 없다고 밝혔습니다.[4]

단계 5

Microsoft가 호스팅 서비스에 수정 사항을 배포한다

Varonis에 따르면 Microsoft는 2026년 8월 18일 수정 사항을 배포했으며 고객 조치는 필요하지 않았습니다. Microsoft CVE 기록은 분류와 점수를 확인하지만 완화 방법은 설명하지 않습니다. 이는 서비스 측 수정이며 설치할 클라이언트 패키지나 버전이 아닙니다.[4], [5], [1]

소스 코드 비교: 취약한 구현 vs 보안 패치

인용한 기록에서 Microsoft는 영향받은 소스 코드나 패치 diff를 공개하지 않았습니다. 이 제한된 설계 모델은 화면에 보이는 버튼의 신뢰할 수 있는 클릭 이벤트로만 실행을 허용합니다. URL이 제어하는 텍스트는 미리보기를 채울 수 있지만 실행을 시작할 수 없습니다. 프로덕션 시스템은 도구 경계에서도 권한을 확인해야 합니다. 이는 Copilot 내부 구조의 재현이나 Microsoft의 정확한 수정 방식에 대한 주장이 아닙니다.[4], [3]

취약한 구현
// 추상 위험 모델 — Microsoft 소스 코드가 아닙니다
function onCopilotPageLoad(url, assistant) {
  const prompt = url.searchParams.get('q');
  if (prompt && url.searchParams.get('autorun') === '1') {
    return assistant.execute(prompt);
  }
  return assistant.showPrompt(prompt);
}
보안 강화 패치
// 안전한 설계 모델 — Microsoft 패치가 아닙니다
function onCopilotPageLoad(url, assistant, render, executeButton) {
  const prompt = url.searchParams.get('q') ?? '';
  // URL 입력은 미리보기를 채울 수 있지만 작업을 승인할 수는 없습니다.
  render.showPromptPreview(prompt);
  executeButton.addEventListener('click', (event) => {
    if (!event.isTrusted) return;
    // 화면에 보이는 실행 버튼의 신뢰할 수 있는 클릭만 이 호출에 도달합니다.
    assistant.execute(prompt);
  });
}

엔지니어링 및 시스템 보안 강화 체크리스트

출처

← AI Security Directory →