DEEP DIVE REPORT

Metalama 공용 임시 디렉터리 DLL 플랜팅으로 로컬 코드 실행 가능(CVE-2026-62847)

SecurityDesk
• 2026.10.17 • 조회 3

Metalama는 컴파일 시간 어셈블리, 보조 실행 도구(Backstage 도구), 부트스트랩 의존성 DLL을 임시 디렉터리에 저장한 뒤 파일 존재 여부만으로 신뢰하고 로드·실행합니다. Linux와 macOS에서 기본 캐시 위치가 전역 공유 임시 디렉터리이고 해시·서명 검증이 없어, 낮은 권한 사용자의 DLL 플랜팅이 고권한 빌드 프로세스에서 공격자 제공 어셈블리를 실행하게 만들 수 있습니다. 이번 글은 이 취약점(CVE-2026-62847, GHSA-m6wq-39m7-9xpp)의 동작 방식과 점검 범위를 정리합니다.

개요

개요 인포그래픽
Metalama는 빌드가 실행될 때 로드에 필요한 산출물을 임시 경로에 작성합니다. 문제의 핵심은 이 산출물이 예측 가능한 경로에 기록되고, 그 경로가 다른 로컬 사용자도 쓸 수 있으며, 로드 직전에 무결성이 검증되지 않는다는 점입니다. GitHub Advisory Database의 해당 고지에 따르면, 이후 더 높은 권한의 사용자(또는 빌드·서비스 계정)가 빌드를 실행하면 Metalama가 센티넬을 발견해 재생성을 건너뛰고 공격자 제공 어셈블리를 컴파일러·IDE·MSBuild 프로세스 안에서 로드·실행하게 됩니다.

영향 범위

  • Linux와 macOS에서 기본 임시 디렉터리 캐시 위치를 사용하는 Metalama 사용 환경이 대상입니다. 벤더 고지도 기본 캐시 위치가 세계 쓰기 가능한 임시 디렉터리라는 점을 전제로 설명합니다.
  • 벤더 고지에 따르면 영향 패키지는 2026.1.19 이전 버전의 Metalama.Framework와 Metalama.Tool이며, 심각도는 CVSS v3.1 8.2(High)와 v4.0 6.0(Medium)이 병기되어 있습니다.
  • 컴파일 시간 어셈블리, 추출된 Backstage 도구, bootstrap 의존성 DLL 등 Metalama가 로드·실행하는 산출물 경로 전반이 해당합니다.
  • 서로 다른 권한의 사용자가 같은 호스트를 쓰는 공유 빌드 머신이나 CI 에이전트가 실질 위험이 큰 환경입니다. 다른 권한의 사용자가 없는 단일 사용자 워크스테이션은 위험이 낮습니다.
  • 빌드 파이프라인이 해당 프로세스의 권한·자격 증명을 갖는 환경에서는 빌드 산출물 오염이나 비밀 접근으로 이어질 수 있는 공급망 무결성 위협으로 확산될 수 있습니다.

기술적 분석

Metalama가 나중에 로드·실행하는 모든 산출물(compile-time 어셈블리, 추출된 Backstage 도구, bootstrap 의존성 DLL)은 Path.GetTempPath() 기반의 Metalama 하위 경로에 예측 가능한 이름으로 기록됩니다. 개발자 리포트(issue #1650)에 따르면 이 경로에는 제한적인 ACL이 없으며, 해시나 서명 검증 없이 파일 존재 여부만으로 신뢰됩니다.

공격 흐름은 전형적인 DLL 플랜팅입니다. 낮은 권한 사용자가 같은 공용 임시 디렉터리에 악성 어셈블리와 센티넬 파일을 미리 배치해 두고, 이후 더 높은 권한의 사용자가 빌드를 실행하면 Metalama가 센티넬을 발견해 재생성을 건너뛰고, 심어 둔 어셈블리를 컴파일러·IDE·MSBuild 프로세스에서 로드·실행합니다. 즉 '공유 임시 디렉터리 + 예측 가능한 경로 + 무결성 검증 부재 + 권한이 다른 프로세스의 지연 실행'이 결합된 형태입니다.

공개 PoC·익스플로잇 분석

현재 증거에는 야생에서의 실제 악용 사례나 공개 PoC가 확인되지 않았습니다(조사 범위 내 미발견). 다만 로컬 접근 권한, 공유 임시 디렉터리 쓰기 가능, 이후 고권한 빌드 실행이라는 전제 조건이 구체적으로 문서화되어 있어 기술적 실현 가능성은 높게 볼 수 있습니다. CISA KEV 등재 여부는 확인되지 않았습니다. 공개 PoC 부재는 위험이 없다는 뜻이 아니라, 전제 조건이 충족되는 환경에서는 여전히 유효한 위협이라는 뜻입니다.

대응 방안

우선 긴급 조치입니다.

  • 공유 빌드 머신과 CI 에이전트에서 Metalama를 사용하는 프로젝트를 즉시 확인하고, 해당 호스트의 Metalama 관련 빌드 실행을 일시 중단하거나 격리된 단일 권한 계정 환경으로 이동합니다.
  • 임시 디렉터리 내 Metalama 산출물과 센티넬 파일 존재 여부를 점검해 플랜팅 시도 흔적이 있는지 조사합니다.
  • 다른 권한의 사용자가 같은 호스트에 접근할 수 없도록 빌드 서버 접근을 통제합니다.

지속적 개선을 위해선 다음과 같은 방향을 권고합니다.

  • 벤더 권고에 따라 Metalama를 2026.1.19 이상으로 업그레이드합니다. 이번 수정에서 캐시가 per-user 위치로 재배치되어, 공용 임시 디렉터리 대신 안전한 전용 위치를 사용하도록 변경됩니다.
  • 환경 변수로 임시 디렉터리 위치를 사용자별 격리 경로로 지정해 예측 가능한 공유 경로 사용을 회피합니다.
  • 빌드 환경을 사용자·역할별로 분리해 서로 다른 권한의 빌드 실행이 공유 호스트에서 섞이지 않도록 합니다.
  • 로드 전 무결성 검증이 적용된 빌드 도구 체계를 유지하는 것이 근본 방어에 도움이 됩니다.

확인되지 않은 사항은 한계로 남겨둡니다. 심각도는 벤더 고지에서 CVSS v3.1 8.2(High)와 v4.0 6.0(Medium)이 병기되어 있으나, NVD와 CVE Program 원본 기록과의 교차 확인이 이루어지지 않아 점수의 독립적 검증은 확인되지 않은 한계로 남습니다. Windows 환경 적용 가능성도 이번 증거는 Linux·macOS 기본 캐시 동작을 다루고 있어 별도 확인이 필요합니다. 독립 제3자 교차 검증 자료도 확인되지 않았습니다.

참고자료

함께 읽으면 좋은 글

본 콘텐츠는 AI 기술로 작성된 분석 리포트를 포함하고 있습니다. 내용 중 사실과 다르거나 보완이 필요한 정보를 발견하셨으면 댓글을 통해 의견을 부탁드립니다. 여러분의 피드백은 더 정확한 보안 정보 공유에 큰 도움이 됩니다.

댓글 (0)

댓글을 작성하려면 로그인이 필요합니다.

로그인

아직 댓글이 없습니다.

첫 번째 댓글을 작성해보세요!

IT 도구 서랍

→ Unix: 2025-01-15T09:30:00
→ 날짜: 1736934600

→ ASCII: ABC
→ 문자: 65 66 67

ASCII 코드표 — 클릭하면 입력란에 추가

DecHex약어설명
DecHex문자
DecHex문자

→ 유니코드: 홍길동
→ 문자: \ud64d\uae38\ub3d9