[단독분석] 분석 — CVE-2026-49869
Critical unauthenticated RCE in Kestra (pre‑1.0.45 / 1.1.0‑1.3.21) caused by a path‑suffix auth bypass; immediate patch or block of “/configs” is required.
📋 요약
- 심각도 critical · CVSS 10.0 · EPSS 0.01917 · 악용난이도 easy · KEV
🔍 공격 기법
- 인증 필터가
request.getPath().endsWith("/configs")로만 검사하여, 경로 마지막이 configs 인 모든 API 요청을 인증 없이 통과시킵니다. - 원격 공격자는 이 우회를 이용해
/api/.../configs와 같은 임의의 엔드포인트에 접근하고, 워크플로우를 생성·실행합니다. - Kestra 기본 제공 스크립트 플러그인(예: plugin‑script‑shell, plugin‑script‑python)이 활성화된 상태이므로, 공격자는 워커 컨테이너 내부에서 루트 권한으로 임의 코드를 실행할 수 있습니다.
악용 가능성: 이 취약점은 네트워크를 통한 원격 접근(AV:N)이 가능하고 공격 복잡도가 낮으며(AC:L) 인증 없이도 이용할 수 있기 때문에(PR:N) 실제 공격자는 별도의 권한 상승 단계 없이 바로 악용할 수 있습니다. UI 요구가 없으므로(UI:N) 자동화 스크립트나 탐색 도구로도 손쉽게 시도될 수 있습니다. EPSS 점수 0.01917은 전체 CVE 중 약 2 % 수준의 실제 악용 가능성을 의미하며, KEV 데이터베이스에 등재된 점은 이미 실증적인 악용 사례가 보고되었음을 보여줍니다. 공격자는 “/configs” 문자열을 접미사로 포함하는任意 경로를 호출함으로써 인증 우회를 달성하고, 해당 엔드포인트에서 워크플로우 생성·실행 API에 접근할 수 있습니다. Kestra는 기본적으로 스크립트 실행 플러그인(예: plugin‑script‑shell, plugin‑script‑python)을 활성화해 두므로, 인증 없이 워크플로를 삽입하면 컨테이너 내부에서 루트 권한으로 원격 코드 실행(RCE)이 바로 발생합니다. 따라서 노출된 HTTP API와 경로 매칭 로직 자체가 공격 표면이며, 외부 네트워크에 서비스가 공개돼 있는 모든 인스턴스가 동일하게 위험에 노출됩니다.
💥 영향 분석
- 기술적 위험
- 무인 인증 우회 → 누구나 API에 접근 가능.
- 워크플로우 생성·실행 → 시스템 내任意 명령어 실행, 컨테이너 루트 권한 탈취.
- 결과적으로 완전 원격 코드 실행(RCE) 및 서비스 중단 위험 발생.
- 비즈니스 리스크
- 핵심 오케스트레이션 플랫폼이 장악되면 전체 파이프라인이 마비되어 가용성 심각 훼손.
- 고객 데이터 처리 흐름이 조작될 경우 규제·컴플라이언스 위반 가능성(예: GDPR, 개인정보보호법).
- 서비스 신뢰도 하락 및 잠재적 손해배상 청구 위험.
- 영향 제품·노출 규모
kestra < 1.0.45와kestra 1.1.0‑1.3.21버전을 사용하는 모든 배포 환경이 대상이며, 공개된 API가 인터넷에 노출된 경우(예: 클라우드·온프레미스) 전 세계적으로 영향을 받을 수 있습니다.
🔗 관련 취약점·체이닝
- 동일한 경로‑접미사 검증 오류를 이용한 인증 우회(CWE‑287)와 스크립트 플러그인 활성화에 의한 명령 실행(CWE‑78)이 결합된 형태이며, 다른 API 인증 우회 취약점과 연계해 추가 권한 상승이 가능할 수 있습니다. (구체적인 CVE 번호는 확인되지 않음)
🔎 탐지
- 로그 패턴:
GET */configs*요청이200 OK로 반환되면서 인증 헤더가 없는 경우. - WAF/IDS 시그니처 예시:
request.path endsWith "/configs"AND!auth.header.present→ 경고. - 컨테이너 행위: 워커 내부에서 비정상적인 쉘·파이썬 스크립트 실행 프로세스 생성 로그.
🛡️ 완화 방안
- 즉시 조치
/configs엔드포인트에 대한 인증 강제 적용 또는 접근 차단(WAF 규칙 추가).- 불필요한 스크립트 플러그인 비활성화(
plugin-script-shell,plugin-script-python등).
- 근본 해결
- 공식 패치 적용: 버전 ≥ 1.0.45 또는 ≥ 1.3.21 로 업그레이드.
- 배포 전 이미지 검증 및 최소 권한 원칙 적용(컨테이너 실행 사용자 비루트화).
- 추가 방어
- API 게이트웨이에서 경로 전체 일치(
== "/configs") 검사로 변경하도록 커스텀 필터 적용. - 정기적인 취약점 스캐닝 및 EPSS 모니터링을 통해 신규 악용 징후를 조기에 탐지.
- API 게이트웨이에서 경로 전체 일치(
⚖️ 위험도 / 우선순위
- 조치: immediate (지금 즉시(24h 내))
- 근거: CVSS=10.0 · KEV · EPSS=0.01917 · exploit=easy · in_scope=None