つみかさね

CVE-2024-58354

Critical(9.9)

cal.com(cal.diy)のリポジトリ乗っ取り CVE-2024-58354:影響範囲と対応方法

公開日: 2026-10-03データソース: NVD, GitHub Advisory

影響を受けるソフトウェア

製品ベンダー影響バージョン
cal.com / cal.diyCal.commain ブランチ(修正版未提供)

対応ガイド

high|対応必須セキュリティ修正影響: 広範

推奨アクション

  1. 1.github/workflows 配下で pull_request_target トリガーの利用を確認する
  2. 2外部PRコードを特権コンテキストで実行しないようワークフローを修正する
  3. 3ワークフローの権限を最小化し、危険なチェックアウト処理を除去する

影響対象

cal.com をフォーク/自前運用するリポジトリ管理者

対応不要な人

  • ✓cal.com / cal.diy を利用していない
  • ✓外部からのPull Requestを受け付けない運用である
  • ✓該当ワークフローを削除・修正済みである

補足

  • -修正版が未提供のため、ワークフロー側の緩和を優先してください
CVEcal.comGitHub Actionsコマンドインジェクション

30秒で判断

  • 対応すべき人: cal.com(旧 calcom、現 cal.diy)をフォーク・クローンして自前のGitHubリポジトリで運用し、CIワークフローをそのまま使っている方
  • 対応不要な人: cal.com を利用していない方、外部からのPull Requestを受け付けない運用の方、該当ワークフローを削除・修正済みの方
  • 確認事項: .github/workflows 配下に pull_request_target トリガーと外部PRコードの「危険なチェックアウト」が残っていないか点検

概要

CVE-2024-58354 は、cal.com(calcom リポジトリ、後に cal.diy へ改名)のGitHub Actions ワークフローにおけるリポジトリ乗っ取り(CWE-77: コマンドインジェクション)の脆弱性です。

ワークフロー pr.yml が pull_request_target トリガーをリポジトリ既定の書き込み権限付きで利用し、その権限を check-types.yml に引き継いでいます。check-types.yml は攻撃者が提出したPull Requestのコードを「危険なチェックアウト」で取得し、依存インストールやスクリプト実行を通じて動作させてしまいます。この結果、攻撃者はPull Requestを開くだけで、書き込みスコープの GITHUB_TOKEN を用いた任意コマンド実行が可能となり、コミットのpush・PRのマージや改変・コメントの追加削除・ブランチの削除や強制pushなどによってリポジトリを掌握できます。main ブランチが影響を受け、執筆時点で修正版は提供されていません。

CVSSと攻撃の前提

項目内容
CVSSスコア9.9(Critical)
CWECWE-77(コマンドインジェクション)
認証不要(外部からのPR提出で成立)
影響リポジトリの完全な掌握

影響を受けるソフトウェア

製品ベンダーバージョン
cal.com / cal.diyCal.com, Inc.main ブランチ(修正版未提供)

修正バージョンと回避策

  • 修正版が未提供のため、ワークフロー側での緩和を優先してください。
  • pull_request_target を利用するワークフローを見直し、外部PRのコードを特権コンテキストで実行しないようにします。
  • ワークフローに付与する権限を最小化(読み取り専用など)し、dangerous-git-checkout 相当の処理を除去します。
  • 外部コントリビュータのPRに対するCIは、承認を要するフロー(pull_request トリガー+承認制)へ変更することを検討してください。

関連リンク


データソース: NVD (NIST), GitHub Advisory Database AI解説は Claude API により自動生成されています。正確性については原文をご確認ください。

Xでシェアはてブ
データソース: NVD (NIST), OSV (Google), GitHub Advisory Database, JVN iPedia (IPA/JPCERT/CC)
AI解説は Claude API により自動生成されています。正確性については原文をご確認ください。