projen 보안 이슈: CVE-2026-89065·CVE-2026-89066 경로 순회와 OS 명령 주입 대응

AWS는 소프트웨어 프로젝트 설정을 코드로 정의·생성하는 오픈소스 도구 projen에서 2개의 보안 문제를 발표했다. 하나는 프로젝트 디렉터리 밖의 파일·디렉터리 삭제로 이어질 수 있는 경로 순회 문제이며, 다른 하나는 생성된 작업 정의를 통해 개발자 PC나 CI 러너에서 임의 명령 실행으로 이어질 수 있는 OS 명령 주입 문제다. 이번 이슈는 애플리케이션 서비스 자체보다 개발 파이프라인과 표준 이미지, 내부 저장소에 포함된 빌드 도구 관리 측면에서 점검 우선순위가 높다.
영향 범위와 핵심 위험
CVE-2026-89065는 projen 0.101.37 미만 버전에 영향을 주며, 프로젝트 합성 과정에서 읽는 .projen/files.json의 조작된 항목을 통해 프로젝트 경로 바깥 파일과 디렉터리를 재귀적으로 삭제할 수 있는 문제로 설명됐다.
CVE-2026-89066는 projen 0.103.0 미만 버전에 영향을 주며, 프로젝트 설정값이나 저장소 파일명에 포함된 셸 메타문자가 .projen/tasks.json에 반영될 때 개발자 워크스테이션이나 CI 러너에서 임의 명령 실행으로 이어질 수 있다.
두 이슈 모두 외부 서비스 노출 취약점이라기보다 코드 생성·빌드 자동화 체인에서 발생하는 공급망형 운영 리스크에 가깝다. 따라서 서버호스팅이나 코로케이션 환경에서도 고객 서비스 자체보다 내부 빌드 서버, 관리용 점프호스트, 공용 CI 러너에 projen이 포함됐는지부터 확인하는 접근이 적절하다.
운영자가 바로 볼 점검 항목
우선 개발팀 표준 이미지, CI 컨테이너, 내부 패키지 미러, 골든 템플릿에 포함된 projen 버전을 확인해야 한다. CVE-2026-89065 기준으로는 0.101.37 미만, CVE-2026-89066 기준으로는 0.103.0 미만이 영향 범위다.
버전 확인 후에는 더 높은 기준인 0.103.0 이상으로 올릴 수 있는지 검토하는 편이 운영상 단순하다. 원문은 수정 버전을 각각 제시하고 있으므로, 환경에 남아 있는 구버전이 없는지 개발 PC와 CI 러너를 함께 점검하는 것이 중요하다.
프로젝트 저장소 안의 .projen/files.json과 .projen/tasks.json을 사용하는 자동화 흐름이 있다면, 업데이트 뒤 재생성 과정에서 기존 산출물이 계속 재사용되지 않는지도 확인해야 한다. 내부 미러나 캐시 서버를 쓰는 조직은 취약 버전 패키지가 계속 배포되지 않도록 정리 여부까지 확인하는 편이 안전하다.
국내·일본 IDC 운영 맥락에서의 의미
이번 사안은 네트워크 장비나 하이퍼바이저 취약점처럼 IDC 설비 전체에 직접 영향을 주는 유형은 아니다. 다만 한국·일본 리전 운영 조직이나 데이터센터 상면 내 전용 빌드 서버를 운용하는 사업자라면, 고객용 서비스망과 별도로 운영되는 개발·배포 관리망에서 projen 사용 여부를 분리 확인할 필요가 있다.
특히 공용 CI 러너 또는 여러 프로젝트가 함께 쓰는 빌드 호스트에서는 한 저장소의 조작된 설정이나 파일명이 다른 작업 환경으로 영향을 넓힐 가능성을 먼저 따져봐야 한다. 운영상 핵심은 서비스 트래픽 방어보다 빌드 자동화 자산의 버전 통제와 작업 디렉터리 격리에 있다.
핵심 포인트
- CVE-2026-89065는 projen 0.101.37 미만에서 경로 순회로 인한 외부 경로 삭제 위험이 있다.
- CVE-2026-89066는 projen 0.103.0 미만에서 OS 명령 주입으로 개발자 PC와 CI 러너가 영향을 받을 수 있다.
- 점검 대상은 서비스 서버보다 개발 워크스테이션, 빌드 이미지, 공용 CI 러너, 내부 패키지 미러다.
- 업데이트 후에도 .projen 산출물과 취약 버전 캐시가 남아 있지 않은지 함께 확인해야 한다.