CVE-2026-49869: Kestra OSS 인증 우회 RCE가 CISA KEV에 등재된 이유와 공격 체인

CVE-2026-49869는 Kestra OSS의 인증 필터 내 접미사 매칭 결함을 이용해 인증 없이 원격 코드 실행(RCE)이 가능한 취약점입니다. CISA KEV 등재는 2026년 6월 말부터 리버스 셸 및 암호화폐 채굴기 배포 등 실제 악용 사례가 확인됐음을 의미합니다.

CVE-2026-49869 개요: endsWith(“/configs”) 접미사 매칭이 뚫은 인증 우회

Kestra OSS의 AuthenticationFilter는 공개 설정 엔드포인트를 Basic Auth 인증 대상에서 제외합니다. 그런데 이 예외 판정에 정확한 경로 매칭(exact path match)이 아닌 request.getPath().endsWith("/configs")라는 접미사 매칭(suffix match) 방식이 쓰였습니다. 이것이 근본 원인입니다.

이 단순한 코드 결함 하나로 /configs로 끝나는 모든 API 경로가 인증 절차 없이 접근 가능해졌습니다. 네트워크 접근 권한만 가진 공격자는 인증 자격 증명 없이 Docker 컨테이너 내에서 uid=0(root) 권한으로 임의의 명령을 실행할 수 있게 됐습니다.

CVSS 10.0의 의미: 네트워크 무인증 및 영향 범위

이 취약점의 CVSS 3.1 점수는 10.0 Critical로 매겨졌습니다. 공격 조건과 영향력이 아래처럼 겹쳤기 때문입니다.

  1. 공격 벡터 및 복잡도: 네트워크를 통한 원격 접근이 가능하고(AV:N), 공격 복잡도도 낮습니다(AC:L).
  2. 권한 요구 사항: 인증 자격 증명이 전혀 필요 없는 무인증 공격입니다(PR:N).
  3. 영향 및 스코프: 공격자가 지정한 명령이 Docker 컨테이너 내 root 권한으로 실행되며, 기밀성, 무결성, 가용성 모두에 치명적인 영향(C:H, I:H, A:H)을 미칩니다.

공격 체인 3단계: 무인증 플로우 생성에서 RCE까지

공격자는 인증 단계 없이 다음 4단계 체인으로 시스템을 통째로 장악합니다.

  1. 플로우 생성: /api/v1/main/flows/{flowId}/configs 경로에 io.kestra.plugin.scripts.shell.Commands 플러그인을 담은 워크플로우를 생성합니다.
  2. 실행 트리거: /api/v1/main/executions/{flowId}/configs 경로에서 생성한 플로우의 실행을 트리거합니다.
  3. 명령 실행: Kestra worker가 Docker 컨테이너를 만들고 공격자가 지정한 명령을 uid=0(root) 권한으로 실행합니다.
  4. 결과 회수: /api/v1/main/logs/search?executionId= 엔드포인트에서 명령 실행 결과(stdout)를 가져옵니다.

전체 체인에 인증이 전혀 필요하지 않습니다. id, hostname, cat /etc/passwd 같은 정찰성 명령부터 본격적인 임의 코드 실행까지 모두 가능하다는 사실을 PoC로 입증했습니다.

CISA KEV 등재 경위와 실제 악용 상태

CISA는 2026년 9월 2일 이 취약점을 Known Exploited Vulnerabilities(KEV) 카탈로그에 추가했습니다. 이론상 취약점이 아니라 실제 환경에서 악용(active exploitation)되고 있음이 확인됐기 때문입니다.

실제 침해 사례 및 분석

Microsoft의 보고에 따르면 2026년 6월 말부터 위협 행위자가 CVE-2026-49869를 악용해 다음 공격을 벌인 것으로 관측되었습니다.

  • 리버스 셸 구축: 시스템 제어권을 획득하려고 리버스 셸을 생성했습니다.
  • 환경 탐색 및 회피: Docker 컨테이너 환경을 탐색하고 보안 방어 체계를 회피했습니다.
  • 자원 탈취: XMRig와 같은 암호화폐 채굴기를 배포해 시스템 자원을 무단으로 사용했습니다.
  • 데이터 수집: 내부 데이터를 수집해 외부로 유출했습니다.

CISA ADP Vulnrichment는 이 취약점의 SSVC Exploitation을 active, 자동화 가능 여부(Automatable)를 yes, 기술적 영향(Technical Impact)을 total로 평가했습니다.

영향 버전 및 조치 사항

이 취약점은 Kestra OSS의 기본 인증 방식인 Basic Auth 모드(micronaut.security.enabled=false)가 활성화된 모든 인스턴스에 영향을 미칩니다. 특히 포트 8080 또는 32776에 접근 가능하다면, 인터넷에 직접 노출되지 않은 내부 네트워크 환경에서도 악용될 수 있습니다. 내부망이라고 방심할 수 없습니다.

버전별 영향 및 패치 정보

구분 영향 버전 (Affected) 수정 버전 (Fixed)
1.0.x 계열 1.0.45 미만 1.0.45
1.3.x 계열 1.1.0 이상 1.3.21 미만 1.3.21

대응 가이드라인

  • 즉시 업데이트: 사용 중인 버전이 영향 범위에 해당한다면 지체 없이 1.0.45 또는 1.3.21 버전으로 업그레이드하는 것이 우선입니다.
  • 패치 기한 준수: CISA의 BOD 26-04 지침에 따라 FCEB 기관은 2026년 9월 5일까지 이 취약점을 패치하도록 권고받았습니다.
  • 추가 위험 점검: 기본 스크립트 플러그인 외에도 Pebble http() 함수를 이용한 SSRF 공격으로 클라우드 메타데이터 엔드포인트(169.254.169.254)에 접근할 수 있는 2차 영향 가능성이 명시되어 있어, 클라우드 환경의 보안 설정을 다시 점검할 필요가 있습니다.

댓글 남기기