CVE-2026-89065 및 CVE-2026-89066: projen 관련 문제 - 경로 탐색 및 OS 명령 주입
공지 ID: 2026-108-AWS
범위: AWS
콘텐츠 유형: 중요(주의 필요)
게시일: 2026년 9월 11일 오전 9시 00분(PDT)
설명:
projen은 소프트웨어 프로젝트 구성을 코드로 정의하고 합성하기 위한 오픈 소스 도구입니다. AWS는 생성된 파일 매니페스트 정리 구성 요소와 작업 합성 구성 요소에 영향을 미치는 두 가지 문제를 projen에서 확인했습니다.
- CVE-2026-89065 - 공격자가 컨텍스트에 따라, 0.101.37 이전의 projen에서 생성된 파일 매니페스트 정리 구성 요소의 상대 경로 탐색을 이용해, 프로젝트 합성 중에 사용되는 버전이 제어하는 생성된 파일 매니페스트(.projen/files.json)의 조작된 항목을 통해 프로젝트 디렉터리 외부의 파일 및 디렉터리를 재귀적으로 삭제할 수 있습니다. 다음에 실행될 때 projen 런타임이 수정된 검사를 자동으로 적용합니다.
- CVE-2026-89066 - 공격자가 컨텍스트에 따라, 0.103.0 이전의 projen에서 작업 합성 구성 요소의 OS 명령에 사용된 특수 요소를 부적절하게 무력화하면 프로젝트 구성 값의 쉘 메타문자 및 리포지토리 파일 이름을 통해 개발자 워크스테이션 또는 지속적 통합 실행기에서 임의의 명령을 실행할 수 있습니다. 이 메타문자는 .projen/tasks.json에서 생성된 작업 정의에 삽입됩니다.
영향을 받는 버전:
- 0.101.37 이전의 모든 projen 버전(CVE-2026-89065)
- 0.103.0 이전의 모든 projen 버전(CVE-2026-89066)
해결 방법:
- CVE-2026-89065는 projen 버전 0.101.37에서 해결되었습니다. 0.101.37 이상으로 업그레이드하면 충분합니다. 재합성할 필요는 없습니다.
- CVE-2026-89066은 projen 버전 0.103.0에서 해결되었습니다. 업그레이드 후에는 프로젝트를 재합성하여 수정된 작업 정의로 .projen/tasks.json을 다시 생성해야 합니다. 생성된 작업 정의 파일은 리포지토리에 커밋되므로 업그레이드만으로는 충분하지 않습니다.
최신 버전으로 업그레이드하고, 새로운 수정 사항이 반영되도록 파생된 코드에 패치를 적용하는 것이 좋습니다.
대안:
- CVE-2026-89065: .projen/files.json의 버전 제어 기록을 검토하여 프로젝트 디렉터리에서 이스케이프된 항목이 있는지 확인하고 projen을 실행하기 전에 제거하세요.
- CVE-2026-89066: 쉘 메타문자에 대해 LambdaFunctionOptions.entrypoint, AddBundleOptions fields, JestOptions.extraCliOptions, PytestOptions.testMatch, ReleaseOptions.artifactsDirectory 및 공지에 나열된 기타 속성을 비롯한 프로젝트 구성 값을 점검하고 projen을 실행하기 전에 이를 제거하거나 이스케이프하세요.
참고 사항:
보안 관련 질문이나 우려 사항이 있는 경우 이메일(aws-security@amazon.com)을 통해 문의하세요.