JetBrains TeamCity 인증 우회 및 원격 코드 실행(RCE) 취약점 (CVE-2023-42793) 보안 권고
실무자 핵심 요약 (Executive Summary)
SECOPS ASSESSMENT2023.05.4 미만 버전의 모든 JetBrains TeamCity 온프레미스 서버
공격자가 인증을 우회하여 관리자 권한을 획득하고, 빌드 파이프라인 제어 및 서버 내 임의 원격 코드 실행(RCE)이 가능합니다
TeamCity 서버를 즉시 2023.05.4 이상 버전으로 업그레이드하거나 공식 보안 패치 플러그인을 적용하십시오
영향받는 제품 및 버전 범위
권장 패치 및 임시 완화(Workaround) 가이드
패치 및 우회 명령어1. 공식 보안 패치 및 버전 업그레이드 명령어
가장 안전한 해결책은 TeamCity 서버를 최신 안전 버전(2023.05.4 이상)으로 업그레이드하는 것입니다. Docker 환경을 사용하는 경우 아래 명령어를 통해 이미지를 업데이트하십시오.
# 1. 실행 중인 TeamCity 컨테이너 중지 및 제거
docker stop teamcity-server
docker rm teamcity-server
# 2. 최신 안전 버전 이미지 풀링 (2023.05.4 이상)
docker pull jetbrains/teamcity-server:2023.05.4
# 3. 컨테이너 재시작 (기존 데이터 볼륨 마운트 유지)
docker run -d --name teamcity-server \
-v /opt/teamcity_server/datadir:/data/teamcity_http_settings \
-v /opt/teamcity_server/logs:/opt/teamcity/logs \
-p 8111:8111 \
jetbrains/teamcity-server:2023.05.42. 패치 전 임시 완화(Workaround) 및 접근 제어 설정
즉각적인 업그레이드가 불가능한 경우, JetBrains에서 제공하는 공식 보안 패치 플러그인('TeamCity-Vulnerability-Patch-Helper')을 다운로드하여 설치하거나, 리버스 프록시(Nginx)를 통해 취약한 엔드포인트로의 외부 접근을 차단해야 합니다.
# Nginx 리버스 프록시 설정 예시: 취약한 REST API 경로 차단
server {
listen 80;
server_name teamcity.internal.local;
location / {
proxy_pass http://localhost:8111;
}
# 취약점이 발생하는 특정 REST API 경로에 대한 외부 접근 차단
location ~* /app/rest/(users|tokens) {
allow 127.0.0.1;
allow 10.0.0.0/8; # 내부 신뢰 네트워크 대역만 허용
deny all;
proxy_pass http://localhost:8111;
}
}3. 침해 흔적(IoC) 및 로그·버전 점검 스크립트
TeamCity 서버 로그에서 비정상적인 토큰 생성 요청 및 인증 우회 시도 흔적을 탐지하는 Bash 스크립트입니다.
#!/bin/bash
LOG_DIR='/opt/teamcity_server/logs'
echo '[*] Checking TeamCity access logs for CVE-2023-42793 exploitation attempts...'
# 1. 인증 우회에 악용되는 특정 REST API 패턴 검색
if [ -d '$LOG_DIR' ]; then
grep -rnI '/app/rest/users/id:1/tokens' '$LOG_DIR' && echo '[!] WARNING: Potential exploitation attempt detected in logs!' || echo '[+] No obvious exploitation patterns found.'
else
echo '[-] Log directory not found. Please check the path.'
fi내 GitHub/GitLab 레포지토리에 이 취약한 패키지가 숨어 있는지 30초 만에 스캔하세요
간접 의존성(Transitive Dependency)에 포함된 취약점은 수동 확인이 불가능합니다. Git 연동 한 번으로 취약 버전 탐지부터 호환성을 유지하는 최소 버전 업그레이드 PR까지 자동 생성하세요.
취약점 발생 원리 및 공격 메커니즘
1. 취약점 개요 및 발생 원인 (Root Cause)
본 취약점(CVE-2023-42793)은 JetBrains TeamCity 서버의 특정 엔드포인트 처리 로직에서 발생하는 심각한 인증 우회 취약점입니다. 특정 요청 경로(예: '/app/rest/users/id:1/tokens/RPC2')에 대해 스프링 프레임워크의 인터셉터 및 서블릿 필터 체인이 인증 검사를 올바르게 수행하지 못하고 통과시키는 설계 결함(CWE-288, CWE-306)이 근본 원인입니다. 이로 인해 비인증 공격자가 관리자 계정의 API 토큰을 생성하거나 직접적인 관리자 세션을 획득할 수 있습니다.
2. 공격 메커니즘 및 익스플로잇 시나리오
공격자는 특수하게 조작된 HTTP POST 요청을 TeamCity 서버의 취약한 REST API 엔드포인트로 전송합니다. 이 과정에서 인증 필터가 우회되어, 공격자는 시스템 내 최고 권한을 가진 사용자(일반적으로 ID 1번인 기본 관리자)의 API 액세스 토큰을 생성할 수 있습니다. 토큰을 획득한 공격자는 TeamCity가 제공하는 내부 관리자 API 및 에이전트 제어 기능을 악용하여, 빌드 구성에 악성 스크립트를 삽입하거나 OS 명령어를 직접 실행하는 방식으로 원격 코드 실행(RCE)을 달성합니다.
3. 비인증 및 인프라 파급 영향
TeamCity는 소프트웨어 빌드 및 배포를 담당하는 CI/CD 파이프라인의 핵심 컨트롤러입니다. 본 취약점이 악용될 경우, 공격자는 소스 코드 저장소 자격 증명, 클라우드 인프라 API 키, 코드 서명 인증서 등 민감한 기밀 정보를 탈취할 수 있습니다. 더 나아가 빌드 아티팩트에 악성코드를 주입하는 공급망 공격(Supply Chain Attack)으로 이어져 비즈니스 전체와 고객사 인프라까지 치명적인 피해를 입힐 수 있습니다. 본 취약점은 실제 야생에서 활발히 악용되고 있으며(CISA KEV 등재, EPSS 0.9999), 즉각적인 조치가 요구됩니다.
공식 보안 권고문 및 참조 링크
In JetBrains TeamCity before 2023.05.4 authentication bypass leading to RCE on TeamCity Server was possible
자주 묻는 실무 질문 (FAQ — CVE-2023-42793)
FAQQ1. CVE-2023-42793 취약점의 위험도와 실제 악용 가능성은 어느 정도입니까?
CVE-2023-42793의 기본 점수는 CVSS 9.8 (CRITICAL)이며, 향후 30일 내 실제 악용 확률을 나타내는 EPSS 점수는 100.0%입니다. 현재 미국 CISA KEV(실제 악용이 확인된 취약점 카탈로그)에 등재되어 있으므로 최우선 긴급 패치가 필요합니다.
Q2. CVE-2023-42793에 영향을 받는 벤더와 제품은 무엇입니까?
주요 영향 벤더는 jetbrains이며, 대상 컴포넌트는 teamcity입니다. 상세 영향 범위: JetBrains TeamCity 2023.05.4 미만의 모든 온프레미스 버전 (TeamCity Cloud는 영향 없음)
Q3. 서버 재기동이나 정규 패치 전 즉시 적용할 수 있는 완화 조치(Workaround)는 무엇입니까?
[권장 조치] TeamCity 서버를 즉시 2023.05.4 이상 버전으로 업그레이드하거나 공식 보안 패치 플러그인을 적용하십시오 본문의 패치 및 우회 명령어 섹션과 자가 점검 체크리스트를 참고하여 외부 노출 포트를 차단하거나 WAF 탐지 규칙을 선적용하십시오.
CVE-2023-42793 사내 보안 패치 공지문 · CISO 경영진 보고서 초안 자동 생성
클릭 한 번으로 사내 이메일·노션·결재 문서에 바로 붙여넣을 수 있는 공식 보고서 양식을 생성합니다.
🔗 함께 점검해야 할 동일 벤더·스택 연관 취약점 (jetbrains)
동일 카테고리 전체 보기 →JetBrains TeamCity 에이전트 폴링 프로토콜 미인증 원격 코드 실행(RCE) 취약점 보안 권고 (CVE-2026-63077)
[영향 대상] JetBrains TeamCity 2026.1.3 미만 및 2025.11.7 미만 버전
marimo 반응형 Python 노트북 터미널 WebSocket 인증 누락으로 인한 사전 인증 원격 코드 실행(RCE) 취약점 (CVE-2026-39987)
[영향 대상] 0.23.0 미만 버전의 marimo 오픈소스 Python 노트북 라이브러리
Ivanti Endpoint Manager (EPM) 인증 우회 및 자격 증명 유출 취약점 (CVE-2026-1603) 긴급 보안 권고
[영향 대상] Ivanti Endpoint Manager (EPM) 2024 SU5 미만 버전
GitLab CE/EE 미인증 원격 코드 실행(RCE) 취약점 보안 권고 (CVE-2026-97229)
[영향 대상] GitLab CE/EE 19.2(19.2.8 미만), 19.3(19.3.5 미만), 19.4(19.4.2 미만) 버전
일간 취약점 브리핑 및 긴급 Zero-Day 경보 구독
보안 실무자와 인프라·백엔드 엔지니어를 위해 매일 아침 주요 취약점과 패치 우선순위를 요약해 발송합니다.