Kestra OSS에 존재하는 인증 우회 취약점 CVE-2026-49869는 2026년 9월 2일 CISA KEV(Known Exploited Vulnerabilities) 카탈로그에 등재되었습니다. 접미사 매칭이라는 단순한 코드 결함 하나가, 네트워크 접근만 있는 공격자에게 Docker 컨테이너 내에서 uid=0으로 공격자 지정 명령을 실행할 수 있는 경로를 연 사례입니다.
개요

CVE-2026-49869 CNA 기록에 따르면, 이 취약점은 Kestra OSS의 AuthenticationFilter가 공개 설정 엔드포인트를 Basic Auth에서 제외하는 과정에서 발생했습니다. 필터는 request.getPath().endsWith("/configs")를 사용해 경로를 판별하는데, 이는 정확한 경로 매칭(exact path match)이 아닌 접미사 매칭(suffix match)입니다. 그 결과 /configs로 끝나는 모든 API 경로가 인증 없이 접근 가능해졌습니다.
CISA는 2026년 9월 2일 이 취약점을 KEV 카탈로그에 추가하며, 실제 악용(active exploitation)이 확인되었다고 발표했습니다.
영향 범위
Kestra 공식 보안 고지에 따라 영향 대상은 다음과 같습니다.
- Basic Auth 모드(
micronaut.security.enabled=false)가 활성화된 모든 Kestra OSS 인스턴스. 이 모드가 Kestra OSS의 기본(default) 인증 방식입니다. - 포트 8080 또는 32776에 네트워크 접근이 가능한 모든 환경. 인터넷에 직접 노출되지 않아도, 내부 네트워크에서 해당 포트에 도달할 수만 있으면 악용이 가능합니다.
CVE 기록에 명시된 영향 버전은 1.0.45 미만과 1.1.0 이상 1.3.21 미만입니다.
이 점이 특히 주목되는 이유는 "외부 인터넷에 노출되지 않았다"는 사실만으로는 안전을 보장할 수 없다는 점입니다. 내부 호스트 중 하나에서 포트 8080/32776에 도달 가능하면 공격 표면이 됩니다.
기술적 분석
취약 메커니즘
공격 체인은 인증 단계 없이 다음 순서로 진행됩니다.
/api/v1/main/flows/{flowId}/configs경로에io.kestra.plugin.scripts.shell.Commands플러그인을 포함한 flow를 생성합니다. 인증 불필요./api/v1/main/executions/{flowId}/configs로 flow 실행을 트리거합니다. 인증 불필요.- Kestra worker가 Docker 컨테이너를 생성하여 공격자가 지정한 명령을
uid=0(root)로 실행합니다. /api/v1/main/logs/search?executionId=엔드포인트로 명령 출력(stdout)을 획득합니다.
전체 체인에 인증 단계가 존재하지 않으며, id, hostname, cat /etc/passwd 등 정찰성 명령부터 임의 코드 실행까지 가능합니다.
공개 PoC·익스플로잇 분석
Kestra 보안 고지에 공개된 PoC는 다음을 입증합니다.
- 출처: Kestra 공식 보안 고지(GHSA-5vc5-wxxq-3fjx)에 포함되어 있으며, CISA KEV 등재(2026-09-02)와 함께 실제 악용이 확인된 상태입니다.
- 전제조건: 포트 8080/32776에 대한 네트워크 접근 권한. 인증 자격 증명은 불필요합니다.
- 입증 범위:
shell.Commands플러그인을 통한 OS 명령 실행과 로그 API를 통한 출력 탈취까지의 완전한 RCE 체인을 보여줍니다. - 운영상 의미: 공개 PoC가 Kestra 보안 고지에 포함되어 있고, CISA가 2026-09-02 실제 악용 근거로 해당 취약점을 KEV 카탈로그에 추가한 점이 확인된 상태입니다.
한계: PoC는 shell.Commands 플러그인 경로를 보여주지만, Docker 컨테이너의 네트워크 격리 상태나 호스트 파일시스템 접근 여부에 대한 상세 정보는 현재 증거 자료에 포함되어 있지 않습니다.
대응 방안
CISA는 실제 악용(active exploitation) 근거로 CVE-2026-49869를 KEV 카탈로그에 추가했습니다. 확인된 영향 조건은 Basic Auth 모드(micronaut.security.enabled=false)가 활성화된 Kestra OSS 인스턴스에서 포트 8080 또는 32776에 대한 네트워크 접근이 가능한 환경입니다. Kestra 보안 고지에 따르면, 이 조건만 충족되면 인증 없이 flow 생성·실행, Docker 컨테이너 내 uid=0(root) 명령 실행, 로그 검색 API를 통한 출력 획득까지 진행됩니다.
CVE 기록에 따르면, 수정 버전은 1.0.x 계열에서 1.0.45, 1.3.x 계열에서 1.3.21입니다. 현재 사용 중인 Kestra 버전이 1.0.45 미만 또는 1.1.0 이상 1.3.21 미만이라면 해당 수정 버전으로 업그레이드를 최우선으로 추진해야 합니다.
참고자료
- CVE-2026-49869 CNA title: Kestra unauthenticated RCE via Authentication Bypass
- GHSA-5vc5-wxxq-3fjx: AuthenticationFilter endsWith(/configs) suffix-match auth bypass
- CISA Adds Seven Known Exploited Vulnerabilities to Catalog (2026-09-02)
함께 읽으면 좋은 글
- CVE-2026-76578 분석: FreeIPA OTP 토큰 ACI 결함의 비인증 관리자 권한 획득 조건
- OneDrive에서 SharePoint로 복사해도 독립 백업이 아닐 수 있는 이유: M365 장애 도메인 점검
- EtherHiding·ClickFix 결합 공격: BSC 테스트넷 C2와 WebRTC 변종의 작동 구조와 한계
본 콘텐츠는 AI 기술로 작성된 분석 리포트를 포함하고 있습니다. 내용 중 사실과 다르거나 보완이 필요한 정보를 발견하셨으면 댓글을 통해 의견을 부탁드립니다. 여러분의 피드백은 더 정확한 보안 정보 공유에 큰 도움이 됩니다.
댓글 (0)
댓글을 작성하려면 로그인이 필요합니다.
로그인아직 댓글이 없습니다.
첫 번째 댓글을 작성해보세요!