[분석가] 분석 — CVE-2021-41277
CVE-2021-41277 is a critical remote LFI/Path‑Traversal in Metabase’s custom GeoJSON map feature that enables unauthenticated file reads, and the fastest mitigation is to upgrade to Metabase 0.40.5 / 1.40.5 or later.
📋 요약
- 심각도 critical · CVSS 10.0 · EPSS 0.97178 · 악용난이도 easy · KEV
🔍 공격 기법
- 공격자는 admin → settings → maps → custom maps → add a map 화면에서 사용자 지정 GeoJSON URL을 입력한다.
- 해당 URL이 검증 없이 로드되면서
../../‑style 경로 탐색 페이로드가 전달될 경우, 서버는 임의 파일을 포함(LFI)하고 내용(예:/etc/passwd, 환경 변수, Metabase 설정 파일)을 반환한다. - 획득한 DB 자격 증명이나 API 키를 이용해 내부 데이터베이스에 접근하거나, 메타데이터 서비스(
http://169.254.169.254)에서 클라우드 비밀을 탈취하여 권한 상승·횡적 이동이 가능하다.
악용 가능성: 이 취약점은 네트워크를 통해 직접 접근할 수 있는(AV = Network) 엔드포인트이며, 공격 절차가 단순하고 특별한 사전 지식이 필요하지 않으므로 복잡도는 낮습니다(AC = Low). 인증이 전혀 요구되지 않기 때문에(PR = None), 관리 UI가 외부에 노출돼 있거나 기본 인증/SSO가 비활성화된 경우 누구나 공격을 시도할 수 있습니다(UI = None). 실제로 EPSS 점수가 0.97178(≈97 %)에 달하고 KEV 리스트에 등재되어 있어, 이론적 심각도를 넘어 실전에서 활발히 악용되고 있음을 확인할 수 있습니다. 트리거 조건은 admin→settings→maps→custom maps→add a map 화면에서 사용자 정의 GeoJSON 파일 URL을 입력하는 파라미터이며, 해당 URL이 검증 없이 로드되면서 로컬 파일 포함(LFI) 및 환경 변수 노출이 발생합니다. 따라서 공격 표면은 HTTP(S) 기반의 관리 페이지와 위 파라미터, 그리고 파일 경로나 file:// 스키마를 지원하는 프로토콜 전반에 걸쳐 존재합니다. 이러한 조건만 충족하면 별도의 권한 상승 단계 없이도 임의 파일을 읽어들일 수 있어, 공격 난이도는 “easy” 수준으로 평가됩니다.
💥 영향 분석
- 기술적 위험
- 임의 파일 읽기로 인해 환경 변수, DB 연결 문자열, 인증 토큰 등 민감 정보가 외부에 노출된다.
- 노출된 DB 자격 증명은 추가적인 RCE 또는 서비스 탈취 시나리오로 이어질 수 있다(KEV·EPSS 0.97178 → 실제 악용 가능성이 최고 수준).
- 비즈니스 위험
- 개인정보·사업자 정보 유출에 따른 규제·컴플라이언스 위반(예: GDPR, 국내 개인정보보호법) 위험이 존재한다.
- 내부 시스템 접근 권한 탈취가 서비스 가용성 저하 또는 데이터 무결성 손상으로 연결될 수 있다.
- 영향 범위
- 영향을 받는 제품은 Metabase 전체이며, 다수(8건)의 배포판·라이브러리에서 동일 취약점이 존재해 공급망 차원의 광범위한 위험을 내포한다.
- 오픈소스 특성상 자체 호스팅 환경뿐 아니라 클라우드‑호스티드 Metabase 인스턴스에도 적용된다.
🔗 관련 취약점·체이닝
- 동일한 Path‑Traversal → LFI 패턴은 다른 웹 어플리케이션에서도 흔히 이용되며, 메타데이터 서비스 접근(CVE‑2021‑XXXXX 등)과 결합될 경우 클라우드 비밀 탈취가 가능하다.
- Metabase 내부에 존재하는 DB 연결 설정 파일을 읽어낸 뒤, 해당 DB에서 실행 가능한 쿼리를 통해 추가적인 명령 실행(RCE)으로 체이닝할 여지가 있다.
🔎 탐지
- 웹 서버/프록시 로그에서
admin/settings/maps/custom경로와 함께../혹은%2e%2e%2f같은 경로 탐색 문자열이 포함된 요청을 모니터링한다.- 예시 정규식:
\/api\/map\/custom.*(\.\./|\%2e\%2e\%2f)
- 예시 정규식:
- 응답 본문에
/etc/passwd혹은DB_PASSWORD=와 같은 민감 파일 패턴이 포함된 경우 경보를 발생한다. - WAF에서 위 정규식을 활용한 시그니처를 적용하고, 탐지된 이벤트를 SIEM에 연동한다.
🛡️ 완화 방안
- 즉시 조치: Metabase 0.40.5(또는 1.40.5) 이상 버전으로 패치를 적용한다.
- 패치 지연 시 임시 완화
- 역방향 프록시·WAF에 경로 검증 필터를 추가해
../,%2e%2e%2f등 탐색 문자열을 차단한다. - 관리 콘솔에서 Custom GeoJSON Maps 기능을 비활성화하거나, 허용된 파일 경로(화이트리스트)만 로드하도록 설정한다.
- 역방향 프록시·WAF에 경로 검증 필터를 추가해
- 장기 방어: 배포 파이프라인에 Metabase 이미지 최신 버전 자동 업데이트를 포함하고, 정기적인 보안 구성 점검으로 커스텀 지도 기능 사용 여부를 재평가한다.
⚖️ 위험도 / 우선순위
- 조치: immediate (지금 즉시(24h 내))
- 근거: CVSS=10.0 · KEV · EPSS=0.97178 · exploit=easy · in_scope=None