CVE-2021-21423
projen에서 버전 관리 저장소가 승인되지 않은 제어 영역에 노출됨
- 게시됨
- 2021. 4. 6.
- 업데이트됨
- 2024. 8. 3.
- CNA 할당 중
- GitHub_M
- 증거 관찰됨
- 2026. 8. 31.
기본 CVSS
nvd · CVSS 3.1
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:N낮음 · 다음 30일
- 백분위수
- 70.5%
- 모델 날짜
- 2026. 9. 21.
EPSS는 통계적 추정치이지 확실성이나 영향의 척도가 아닙니다. 이를 CVSS, KEV 상태, 노출 및 환경과 결합하세요.
요약
`projen`은 JavaScript로 작성된 잘 정의된 타입 기반 정의에서 `package.json`, `tsconfig.json`, `.gitignore`, GitHub Workflows, `eslint`, `jest` 등의 프로젝트 구성 파일을 합성하는 프로젝트 생성 도구입니다. projen의 `NodeProject` 프로젝트 유형(이를 상속받은 모든 프로젝트 유형 포함)을 사용하는 사용자는 `.github/workflows/rebuild-bot.yml` 워크플로를 포함하며, 이 워크플로는 포크(fork)가 아닌 "main" 저장소의 컨텍스트에서 모든 GitHub 사용자가 신뢰할 수 없는 코드의 실행을 트리거할 수 있게 허용할 수 있습니다. 일부 상황에서는 이러한 신뢰할 수 없는 코드가 잠재적으로 "main" 저장소에 커밋할 수 있습니다. rebuild-bot 워크플로는 풀 리퀘스트에 `@projen rebuild`를 포함한 댓글로 트리거되어 projen 프로젝트의 재빌드를 실행하고, 업데이트된 파일로 풀 리퀘스트를 갱신합니다. 이 워크플로는 `issue_comment` 이벤트에 의해 트리거되므로 항상 풀 리퀘스트가 생성된 저장소에 속한 `GITHUB_TOKEN`으로 실행됩니다(이는 항상 풀 리퀘스트가 생성된 저장소에 속한 `GITHUB_TOKEN`으로 실행되는 `pull_request` 이벤트에 의해 트리거되는 워크플로와 대조적입니다). 기본 브랜치(일반적으로 `main` 또는 `master`)에 브랜치 보호(branch protection)가 구성되지 않은 저장소는 신뢰할 수 없는 사용자가 저장소에 구성된 시크릿(예: NPM 토큰 등)에 접근할 수 있게 허용할 수 있습니다. 브랜치 보호는 이러한 권한 상승을 차단합니다. 관리되는 `GITHUB_TOKEN`은 보호된 브랜치의 내용을 수정할 수 없으며, 영향을 받는 워크플로는 기본 브랜치에 정의되어야 하기 때문입니다.
소스
1# CVE-2021-21423 (GHSA-gg2g-m5wc-vccq) 재현을 위한 공인 보안 연구 랩: issue_comment를 통한 projen rebuild-bot pwn 요청
책임 있는 사용
귀하가 소유하고 있거나 테스트할 권한이 있는 시스템에 대해서만 취약점 정보를 사용하십시오. Kitploit은 공개 연구 메타데이터에 연결되며 익스플로잇 코드나 악성 페이로드를 저장하지 않습니다.