새로 공개된 Windows 취약점(CVE-2026-35603)을 통해 관리자 권한이 없는 일반 사용자도 공유 C:\ProgramData 폴더에 악성 설정 파일을 심을 수 있습니다. 이 폴더는 여러 AI 기반 코딩 어시스턴트가 설정을 자동으로 읽어들이는 곳입니다. 이후 관리자가 Claude Code, Cursor, Codex CLI 또는 Gemini CLI 중 하나를 실행하면, 악성 파일이 전체 시스템 권한으로 실행되어 공격자가 아무런 경고 없이 머신을 제어할 수 있게 됩니다.

이 문제가 중요한 이유

AI 코딩 어시스턴트는 개발 파이프라인에서 흔히 사용되며, 컴파일러, 패키지 매니저 또는 내부 저장소에 접근하기 위해 종종 높은 권한으로 실행됩니다. 관리자 권한으로 실행되는 코드를 주입할 수 있는 능력은 워크스테이션을 보호하는 일반적인 사용자 수준의 샌드박스를 우회합니다. 실제로 권한이 낮은 계정은 파일을 심어두고 관리자가 어시스턴트를 실행하기를 기다린 다음, 어시스턴트가 임의의 명령을 실행하거나 시스템 파일을 변경하거나 자격 증명을 탈취하도록 만들 수 있습니다. 그 영향은 지속적인 악성코드를 위한 조용한 발판 마련부터 기업용 워크스테이션의 완전한 장악에 이르기까지 다양합니다.

취약점 작동 원리

네 가지 도구 모두 단순한 설계 방식을 공유합니다. 바로 머신 전체의 설정을 C:\ProgramData에 저장하고 시작 시 해당 파일을 자동으로 로드한다는 점입니다. Windows에서 이 디렉토리는 일반 사용자도 읽고 쓸 수 있습니다. 해당 도구들은 파일을 파싱하기 전에 파일의 소유자나 무결성을 검증하지 않습니다.

도구 예상 설정 파일
Claude Code managed-settings.json
Cursor hooks.json
Codex CLI config.toml
Gemini CLI system-defaults.json

공격자는 도구가 찾는 것과 정확히 일치하는 이름의 파일을 생성하여 C:\ProgramData 하위의 해당 폴더에 배치하고 기다립니다. 관리자가 어시스턴트를 열면, 프로그램은 공격자가 제어하는 파일을 읽고 그 내용을 실행합니다. Codex CLI의 경우, 악성 설정이 내장된 보안 샌드박스를 비활성화할 수도 있어 공격 표면을 더욱 넓힙니다.

Claude Code의 제작사인 Anthropic은 이미 설정을 보호된 위치로 이동시켜 해당 제품에 대한 취약점을 효과적으로 해결했습니다. 다른 벤더들은 연구 보고서 작성 시점까지 패치를 출시하지 않아 사용자들이 위험에 노출되어 있습니다.

승자와 패자

  • 공격자는 커널 버그나 제로데이 코드를 악용할 필요 없이 직접적인 권한 상승 경로를 확보합니다.
  • 개발자 및 조직은 일상 업무를 위해 이러한 어시스턴트에 의존하므로, 조용한 자격 증명 탈취, 코드 주입 또는 랜섬웨어 배포의 위험에 직면합니다.
  • 도구 벤더는 취약점이 신속하게 패치되지 않을 경우 평판 손상 및 잠재적 법적 책임을 질 위험이 있습니다.

침해 사고의 비용은 매우 높을 수 있습니다. 탈취된 SSH 키, 클라우드 토큰 및 Git 자격 증명은 더 광범위한 네트워크 침해로 이어지는 문을 열어줄 수 있습니다. 단 하나의 워크스테이션만 침해되어도 기업 환경 내부에서 측면 이동(lateral movement)을 위한 발판이 될 수 있습니다.

오늘 바로 취할 수 있는 완화 조치

벤더가 패치를 배포할 때까지 관리자는 폴더 자체를 강화할 수 있습니다. 다음 PowerShell 명령을 높은 권한으로 실행하면, 예상되는 디렉토리를 생성하고(이미 존재하는 경우 제외) 시스템과 관리자만 쓰기 권한을 가질 수 있도록 잠글 수 있습니다.

# Create the directories
$paths = @(
    "C:\ProgramData\ClaudeCode",
    "C:\ProgramData\Cursor",
    "C:\ProgramData\openai\codex",
    "C:\ProgramData\gemini-cli"
)
foreach ($p in $paths) { New-Item -ItemType Directory -Path $p -Force }

# Remove inherited permissions and grant only the needed accounts
foreach ($p in $paths) {
    icacls $p /inheritance:r
    icacls $p /grant "SYSTEM:(OI)(CI)F" "Administrators:(OI)(CI)F" "Users:(OI)(CI)RX"
}

ACL(액세스 제어 목록)을 적용한 후, 일반 사용자가 소유한 파일이 있는지 폴더를 스캔하십시오. 이러한 파일을 발견하는 것은 머신이 이미 침해되었음을 나타내는 강력한 지표입니다. 이 경우 즉시 모든 개인 키, 클라우드 액세스 토큰 및 버전 관리 자격 증명을 교체하십시오.

주의 깊게 살펴봐야 할 사항

  • 벤더 패치 – 영향을 받는 벤더의 릴리스 노트를 계속 확인하십시오. 설정을 보호된 위치로 이동하거나 설정 파일에 대한 무결성 검사를 도입하면 문제가 해결될 것입니다.
  • 보안 도구 업데이트 – 엔드포인트 탐지 플랫폼(EDR)에서 C:\ProgramData 내의 이러한 특정 파일 생성 패턴에 대한 시그니처를 추가할 수 있습니다. 이러한 업데이트를 배포하면 조기 경보를 받을 수 있습니다.
  • 커뮤니티 공개 정보 – 보안 연구자들이 내부 모니터링에 통합할 수 있는 개념 증명(PoC) 익스플로잇이나 탐지 스크립트를 게시할 수 있습니다.

반론

일부에서는 위험이 여러 사용자 계정이 존재하는 머신에 국한되거나, 해당 도구들이 관리자 권한으로 실행되는 경우가 드물다고 주장할 수도 있습니다. 이러한 요소들이 공격 표면(attack surface)을 줄여줄 수는 있지만, 완전히 제거하지는 못합니다. 많은 기업용 노트북은 중앙에서 관리되며, 컴파일러나 SDK 설치를 위해 개발자에게 관리자 권한을 부여하는 경우가 많습니다. 또한, 악성코드는 관리자 수준의 트리거 없이도 동일한 폴더를 악용하여 시스템에 지속적으로 상주할 수 있으며, AI 어시스턴트를 단순히 편리한 실행 벡터(execution vector)로 활용할 수 있습니다.

핵심 요약

CVE-2026-35603은 누구나 쓰기 가능한(world-writable) 폴더에서 설정을 읽어오는 것과 같이 겉보기에 무해해 보이는 설계 결정이 AI 도구가 개입될 때 어떻게 강력한 권한 상승 경로가 될 수 있는지를 보여줍니다. 벤더가 이 결함을 해결할 때까지 유일하고 신뢰할 수 있는 방어책은 이러한 어시스턴트들이 사용하는 C:\ProgramData 하위 폴더를 잠그고, 해당 폴더 내의 예상치 못한 모든 파일을 침해 징후로 간주하는 것입니다. 이 문제를 방치하면 권한이 낮은 계정이 Windows 워크스테이션에 대한 전체 제어권을 획득할 수 있는 직접적인 경로를 열어주게 됩니다.