CVE-2021-21423
projen におけるバージョン管理リポジトリの不正な制御圏への露出
- 公開済み
- 2021/04/06
- 更新済み
- 2024/08/03
- CNA の割り当て
- GitHub_M
- 観察された証拠
- 2026/08/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 日間
- パーセンタイル
- 71.7%
- モデルの日付
- 2026/10/19
EPSS は統計的な推定値であり、確実性や影響の尺度ではありません。 CVSS、KEV ステータス、暴露、環境と組み合わせます。
概要
`projen` は、JavaScript で記述された型付けの明確な定義から、`package.json`、`tsconfig.json`、`.gitignore`、GitHub Workflows、`eslint`、`jest` などのプロジェクト設定ファイルを合成するプロジェクト生成ツールです。projen の `NodeProject` プロジェクトタイプ(そこから派生したすべてのプロジェクトタイプを含む)のユーザーは、`.github/workflows/rebuild-bot.yml` ワークフローを含みますが、これは任意の GitHub ユーザーが「メイン」リポジトリのコンテキスト(フォークのコンテキストではなく)で信頼されていないコードの実行をトリガーできるようにする可能性があります。状況によっては、そのような信頼されていないコードが「メイン」リポジトリにコミットできる可能性があります。rebuild-bot ワークフローは、プルリクエストに対する `@projen rebuild` を含むコメントによってトリガーされ、projen プロジェクトの再ビルドをトリガーし、更新されたファイルでプルリクエストを更新します。このワークフローは `issue_comment` イベントによってトリガーされるため、常にプルリクエストが作成されたリポジトリに属する `GITHUB_TOKEN` で実行されます(これは、常にプルリクエストが作成されたリポジトリに属する `GITHUB_TOKEN` で実行される `pull_request` イベントによってトリガーされるワークフローとは対照的です)。デフォルトブランチ(通常は `main` または `master`)でブランチ保護が設定されていないリポジトリでは、信頼されていないユーザーがリポジトリに設定されたシークレット(NPM トークンなど)へのアクセスを取得できる可能性があります。ブランチ保護はこの昇格を防ぎます。管理された `GITHUB_TOKEN` は保護されたブランチの内容を変更できないため、影響を受けるワークフローはデフォルトブランチで定義されている必要があります。
ソース
認可されたセキュリティ研究ラボによるCVE-2021-21423(GHSA-gg2g-m5wc-vccq)の再現: issue_commentを介したprojen rebuild-botのpwnリクエスト
責任ある使用
脆弱性情報は、自分が所有しているシステム、またはテストを許可されているシステムでのみ使用してください。 Kitploit は公開研究メタデータにリンクしており、エクスプロイト コードや悪意のあるペイロードは保存しません。