CVE-2026-63077 TeamCityエージェントポーリングプロトコルの認証不備。未認証でCI/CDの中枢を奪われる経路を読む
対象の目安: CI/CDパイプラインを運用する情報システムや開発基盤担当の実務

CI/CDパイプラインの中核であるビルドサーバは、ソースコードや認証情報、ビルド成果物が集まる場所です。JetBrainsが2026年7月27日に公開したTeamCity On-PremisesのCVE-2026-63077は、その中核へ未認証でOSコマンドを送り込める脆弱性です。対象読者は、TeamCityを含むCI/CDパイプラインを運用する情報システムや開発基盤の担当者です。記述はJetBrains公式ブログ、NVDおよびcve.orgのCVEレコード、MITRE CWEの定義、CISAのKEVカタログにもとづき、事実は執筆時点(2026年7月31日)で確認できた範囲に限ります。攻撃の再現手順やペイロードは書きません。挙動の確認は必ず自組織が管理する検証環境で行い、他者が管理するシステムへの無許可のアクセスは不正アクセス禁止法などの対象になり得る点に注意してください。
CVE-2026-63077の基本情報
CVE-2026-63077は、JetBrainsのCI/CDサーバ製品であるTeamCity On-Premisesに見つかった脆弱性です。CVEレコードを採番したのはJetBrains s.r.o.自身(CNA)で、公開日は2026年7月27日、NVD上の最終更新は7月28日です。分類はCWE-502(Deserialization of Untrusted Data)で、信頼できない入力からオブジェクトを復元する処理が、想定外のコードや命令の実行につながる欠陥の類型に当たります。
深刻度はCVSS 3.1で9.8、区分はCritical、ベクトルはCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:Hです。ネットワーク経由で到達でき、攻撃の複雑さは低く、事前の権限も利用者の操作も要らず、機密性と完全性と可用性のすべてに高い影響を与えるという評価になります。
認証チェックを回避してコマンドを実行される機構
JetBrainsの公式ブログによれば、HTTP(S)でTeamCityサーバに到達できる未認証の攻撃者が、エージェントポーリングプロトコルを悪用して認証チェックを回避し、TeamCityサーバプロセスの権限で任意のOSコマンドを実行できるとされています。エージェントポーリングプロトコルは、ビルドを実行するエージェントがサーバへ定期的に接続し、次に実行すべきジョブなどの情報をやり取りする通信経路です。ここで身元を確認する処理が本来通すべきでない相手を通してしまい、認証済みのエージェントと同じ扱いを受けられる状態が生じていました。
分類がCWE-502となっているのは、この通信の中でサーバが受け取ったデータを復元する処理に、信頼できない入力を前提としない扱いがあったためです。復元されたデータの内容によってサーバ側の処理が左右され、結果として任意のコマンド実行にまで至ります。JetBrainsは内部の実装詳細やペイロードの形式を公開しておらず、この記事でも機構の概略にとどめます。
デシリアライゼーションに起因する脆弱性そのものの仕組みと対策は、次の記事で開発者向けに整理しています。
あわせて読みたい
安全でないデシリアライゼーションの対策。信頼できないデータの復元が任意コード実行につながる仕組み
影響を受けるバージョンと修正版
JetBrainsの公式ブログは、TeamCity On-Premisesの全バージョンが対象であると明記しています。NVDの説明文も「2026.1.3、2025.11.7より前のTeamCity」という表現で、2つのリリース系列それぞれの手前までが対象であることを示しています。TeamCity Cloudはこの脆弱性の対象外で、JetBrains側で既に対応済みのため利用者側の作業は不要です。
修正はTeamCity 2025.11.7および2026.1.3で提供されています。すぐにアップグレードできない環境向けには、2017.1以降のバージョンを対象とするセキュリティパッチプラグインが用意されており、このCVE-2026-63077の修正のみを当てられます。JetBrainsの案内では、2017.1から2018.1まではパッチ適用後にサーバの再起動が必要で、2018.2以降は再起動不要とされています。パッチプラグインは今回のCVEにのみ対応するもので、それ以外のセキュリティ更新も受け取るには通常のアップグレードが推奨されています。
| 対応方法 | 対象バージョン | 補足 |
|---|---|---|
| アップグレード | 全バージョン | 2025.11.7または2026.1.3へ |
| セキュリティパッチプラグイン | 2017.1以降 | 2017.1〜2018.1は再起動要、2018.2以降は再起動不要 |
| 対応不要 | TeamCity Cloud | JetBrains側で対応済み |
発見と公開の経緯
JetBrainsの公式ブログによれば、この脆弱性はセキュリティ研究者Antoni Tremblay氏が2026年7月10日に非公開で報告したものです。コーディネートされた開示のプロセスを経て、JetBrainsは2026年7月27日に修正版と合わせてアドバイザリを公開しました。JetBrainsは公開時点で実悪用は確認していないと述べています。
CISAのKEV(Known Exploited Vulnerabilities)カタログについても確認しましたが、執筆時点(2026年7月31日)でCVE-2026-63077は収録されていません。KEVカタログは実際に悪用されたことが確認された脆弱性を載せる性質のものであり、未収録は安全という意味ではなく、現時点で悪用の確認情報が公表されていないことを示すにすぎません。深刻度が高く未認証で到達できる脆弱性である以上、KEVの収録有無にかかわらず優先度は高く扱うのが妥当です。KEVやEPSSを使った優先順位付けの考え方は次の記事で整理しています。
あわせて読みたい
CVSSスコアの読み方と脆弱性対応の優先度付け。基本値だけで判断しないために
CI/CDパイプラインの中枢を奪われることの実務上の意味
TeamCityサーバはビルド定義やソースコードへの接続情報、デプロイ先の認証情報、シークレットなど、パイプライン全体を動かすための情報を保持しています。ここでサーバプロセスの権限を得た攻撃者が具体的に何をできるかは構成次第ですが、報道されている懸念には共通する筋があります。サーバに保存された認証情報を読み取られること、ビルド成果物の内容を改ざんされること、そしてその成果物が下流の環境へそのまま配布されることで被害がパイプラインの外へ広がることです。ビルドサーバは開発チームの内部にとどまらず、そこで作られた成果物を受け取る組織すべてに影響が及び得るという点で、単体のサーバ侵害とは重みが異なります。
こうした構図は、直接狙われていない組織であっても取引先や利用しているツール経由で被害が及ぶサプライチェーン攻撃の典型例です。攻撃の構造と防御の考え方は次の記事にまとめています。
あわせて読みたい
サプライチェーン攻撃の構造と防御の考え方。ソフト・ハード・サービス経由の侵入をどう減らすか
TeamCityに保存された認証情報が読み取られる可能性がある以上、シークレットの持ち方そのものを見直す機会にもなります。ハードコードを避け集中管理とローテーションを行う実務は次の記事で扱っています。
あわせて読みたい
シークレット管理の実務。APIキー・認証情報をハードコードせず、Vaultやマネージドサービスで守りローテーションする
アップグレードとパッチプラグインの適用手順
対応の優先順位は、まずアップグレードの可否を判断し、難しい場合はパッチプラグインで時間を稼ぐという順序が実務的です。
- 1
運用しているTeamCity On-Premisesのバージョンと、Cloud版かオンプレミス版かを確認する
- 2
可能であれば速やかに2025.11.7または2026.1.3へアップグレードする
- 3
アップグレードにテストや調整の時間が必要な場合は、2017.1以降を対象とするセキュリティパッチプラグインを適用する
- 4
2017.1から2018.1を使っている場合は、パッチプラグイン適用後にサーバの再起動が必要な点を計画に織り込む
- 5
TeamCityサーバへの外部からの到達性を確認し、インターネットから直接HTTP(S)で到達できる構成になっていないかを見直す
- 6
アップグレードまたはパッチ適用後、サーバに保存されているシークレットや認証情報のローテーションを検討する
- 7
ビルドログやエージェント接続ログを遡り、パッチ適用前に不審な接続や想定外のコマンド実行の痕跡がないかを点検する
パッチプラグインはCVE-2026-63077のみに対応する暫定策であり、他の修正まではカバーしません。時間を確保できたタイミングで正規のアップグレードに移行する計画を残しておく必要があります。
確認チェックリスト
対応の抜けを防ぐための項目を整理します。
- 運用中のTeamCityがOn-PremisesかCloudかを確認したか
- On-Premisesの場合、現在のバージョンが2025.11.7または2026.1.3より前でないかを確認したか
- アップグレードできる場合、2025.11.7または2026.1.3へ更新したか
- アップグレードが難しい場合、2017.1以降向けのセキュリティパッチプラグインを適用したか
- 2017.1〜2018.1を使っている場合、パッチ適用後にサーバを再起動したか
- TeamCityサーバがインターネットから直接到達できる構成になっていないかを確認したか
- サーバに保存された認証情報やシークレットのローテーションを検討したか
- ビルドログやエージェント接続ログに、パッチ適用前の不審な痕跡がないかを点検したか
- CISAのKEVカタログなど、悪用状況に関する続報を定期的に確認する仕組みがあるか
CVE-2026-63077は、認証を経ずにCI/CDパイプラインの中枢へコマンドを送り込める脆弱性で、深刻度もCVSS9.8と高い水準です。公開時点で実悪用は確認されておらずKEVにも未収録ですが、未認証で到達できるという条件は攻撃側にとって扱いやすい部類に入ります。アップグレードまたはパッチプラグインの適用を早期に進め、外部露出の見直しと保存済み認証情報の扱いまでを一連の作業として進めるのが妥当です。
出典・参考
- JetBrains Blog: Critical Security Issue Affecting TeamCity On-Premises (CVE-2026-63077)
- NVD CVE-2026-63077 Detail
- CVE Record CVE-2026-63077 (cve.org)
- MITRE CWE-502 Deserialization of Untrusted Data
- CISA Known Exploited Vulnerabilities Catalog
- Help Net Security: JetBrains fixes critical unauthenticated RCE in TeamCity On-Premises (CVE-2026-63077)
関連する記事
安全でないデシリアライゼーションの対策。信頼できないデータの復元が任意コード実行につながる仕組み
安全でないデシリアライゼーション(CWE-502)を、発生原理から対策まで開発者目線で整理します。オブジェクトの復元がなぜ任意コード実行やDoSにつながるのか、ガジェットチェーンの考え方、OWASP Top 10での位置づけの変遷、そしてネイティブ形式を避けJSONを使う根本対策と言語別の危険APIの避け方を解説します。
サプライチェーン攻撃の構造と防御の考え方。ソフト・ハード・サービス経由の侵入をどう減らすか
自社が直接狙われなくても、取引先やライブラリ、サービス経由で侵入されるのがサプライチェーン攻撃です。実例をもとに攻撃の構造を分解し、信頼の前提を見直すための実務的な防御の考え方を解説します。
シークレット管理の実務。APIキー・認証情報をハードコードせず、Vaultやマネージドサービスで守りローテーションする
APIキーやDB認証情報などのシークレットを、ハードコード回避・集中管理・ローテーション・最小権限という4つの軸で守る方法を、Vaultやクラウドのマネージドサービス、動的シークレットまで実務目線で解説します。


