コンテンツへスキップ
ホーム » ログインなしでサーバーを掌握する脆弱性:TeamCity On-Premises CVE-2026-63077分析

ログインなしでサーバーを掌握する脆弱性:TeamCity On-Premises CVE-2026-63077分析

2026年7月27日、CI/CDサーバーソリューションであるJetBrains TeamCity On-Premisesにおいて、認証なしでリモートコード実行が可能となる深刻な脆弱性CVE-2026-63077が公開されました。この脆弱性はCVSS v3.1で9.8(Critical)と評価されており、TeamCityのエージェントポーリングプロトコルで発生する、信頼できないデータのデシリアライズ処理の不備に起因します。HTTP(S)経由でサーバーにアクセスできる未認証の攻撃者が、認証チェックを回避し、TeamCityサーバープロセスの権限で任意のOSコマンドを実行できる構造となっており、アカウント、事前アクセス、ユーザー操作はいずれも必要ありません。

TeamCity On-Premisesは過去にも、国家支援型の攻撃グループやランサムウェア関連組織が、パッチ未適用のインスタンスを標的にした事例があります。そのため、今回のように認証を必要としない脆弱性が公開された場合、外部公開の有無そのものがリスクを左右する重要な要素となります。公開時点では実際の悪用や公開PoCは確認されていませんが、この脆弱性がOn-Premisesの全バージョンに影響し、認証を必要としない点を踏まえると、外部公開範囲を抑えるための先制的な対応が急務です。本記事では、CVE-2026-63077の技術的原因と攻撃特性を分析し、外部公開されたTeamCityサーバーが、なぜログイン画面の公開だけでも攻撃対象領域となり得るのかを確認します。

CVE-2026-63077脆弱性の概要

CVE-2026-63077脆弱性の概要を示したAI生成画像
項目内容
脆弱性IDCVE-2026-63077
影響を受ける製品JetBrains TeamCity On-Premises (2025.11.7および2026.1.3以前のすべてのバージョン)
脆弱性の種類信頼できないデータのデシリアライズ (CWE-502)
CVSS v3.19.8 (Critical)
悪用状況公開時点では、実際の悪用および公開PoCは未確認
影響範囲認証なしでのリモートコード実行、TeamCityのデータ・設定・保存された認証情報の漏えい、サーバー状態の変更、ビルドアーティファクトおよび後続のCI/CDパイプラインの整合性侵害

この脆弱性は、2026年7月10日に、あるセキュリティ研究者によって協調的な公開ポリシーに基づき非公開で報告され、その後、ベンダーが修正版を配布したことで公開されました。クラウドベースのTeamCity Cloudにはすでに対策が適用されており、影響を受けません。また、ユーザー側で別途対応を行う必要はありません。ベンダーは、TeamCity Cloud環境において、この脆弱性を悪用した形跡は確認されていないと説明しています。対応が必要となるのは、顧客自身がホスティング・運用しているOn-Premisesインスタンスです。

技術的原因:エージェントポーリングプロトコルにおけるデシリアライズ脆弱性

エージェントポーリングプロトコル

TeamCityのビルドエージェントは、サーバーに対して定期的にHTTP(S)リクエストを送信し、実行待ちのビルド設定や構成更新をポーリングします。このプロトコルは、エージェントとサーバー間の中核的な通信チャネルであり、TeamCityの正常な運用に不可欠な機能です。サーバーは、このプロトコルを通じてエージェントから受信したデータを処理します。

脆弱性の発生箇所

問題は、このエージェントポーリングエンドポイントが受信データをデシリアライズする過程で発生します。サーバーは、エージェントポーリングリクエストを処理する前に、リクエスト送信者の認証を十分に検証していませんでした。攻撃者は、細工した不正なペイロードをエージェントポーリングエンドポイントに送信するだけで認証チェックを回避し、ペイロードがデシリアライズされる過程で、サーバープロセスの権限により任意のOSコマンドを実行させることができます。

この脆弱性が特に危険である理由は、エージェントポーリングエンドポイントが、チームメンバーとエージェントの双方からアクセスできるよう、一般的にHTTP(S)ポート上で公開される点にあります。VPNやファイアウォールによる制限なしにインターネットへ直接公開されているTeamCityサーバーであれば、世界中のどこからでもこの脆弱性を即座に悪用される可能性があります。

攻撃チェーン:1回のHTTPリクエストからCI/CDパイプラインの乗っ取りまで

TeamCity脆弱性の攻撃チェーンを示したAI生成画像

1. 不正なペイロードの送信

攻撃者は、エージェントポーリングエンドポイントに対して、細工したシリアライズ済みペイロードを送信します。この過程で、有効な認証情報やセッショントークンは一切必要ありません。

2. デシリアライズ時の認証回避とコマンド実行

サーバーがペイロードをデシリアライズする瞬間に認証チェックが回避され、デシリアライズ処理の過程で、攻撃者が指定したOSコマンドがTeamCityサーバープロセスの権限で実行されます。

3. サーバーの掌握と資産の不正取得

サーバープロセスの権限を取得した攻撃者は、TeamCityデータベースに保存されているすべての認証情報(VCS接続情報、デプロイ先サーバーへのアクセスキー、APIトークン、署名証明書など)を不正取得できます。プロジェクトのソースコード、ビルド設定、内部インフラ構成情報もすべて外部に漏えいする可能性があります。

4. ビルドアーティファクトの改ざん:サプライチェーン攻撃

最も深刻な段階は、ビルドパイプラインそのものの改ざんです。攻撃者はビルドスクリプトに不正なコードを挿入し、TeamCityが自動的にビルドして署名したソフトウェアに不正なコードが含まれるようにすることができます。このように改ざんされたソフトウェアが正規の配布チャネルを通じてリリースされると、そのソフトウェアのすべての利用者に被害が及ぶサプライチェーン攻撃につながります。

TeamCityが繰り返し悪用される理由

CVE-2026-63077は、TeamCityにおける3件目の主要な未認証RCE系脆弱性です。この繰り返されるパターンは偶然ではなく、TeamCityが持つ構造的な価値に起因します。

2023年9月、CVE-2023-42793(認証回避RCE)が公開されました。パッチ公開後、数週間以内にロシアのSVR(APT29)がこの脆弱性を悪用し、数十社のソフトウェア開発企業を侵害するサプライチェーン攻撃を展開しました。これを受け、CISA、FBI、NSAは共同勧告を発表しました。同時期には、北朝鮮のDiamond SleetとOnyx Sleetもこの脆弱性を悪用し、ソフトウェアサプライチェーンへの侵入を試みました。

2024年3月には、CVE-2024-27198とCVE-2024-27199(認証回避・パストラバーサル)が公開されました。公開当日には完全なエクスプロイトが公開され、BianLianランサムウェアとJasminランサムウェアによって即座に攻撃手法として利用されました。北朝鮮のKimsukyグループも、同時期にこれらの脆弱性を標的にしました。

この一連のパターンに共通する要因は、TeamCityがソースコード、署名証明書、ビルドスクリプト、デプロイ先へのアクセスキーなどを一元的に扱う、単一の高価値標的である点です。この単一のポイントを掌握されると、対象組織が開発するすべてのソフトウェアに永続的なバックドアを仕込まれる可能性があります。さらに、そのソフトウェアを利用する顧客企業や関連組織にも影響が波及します。国家支援型APTとランサムウェアグループの双方がTeamCityを繰り返し標的にする理由は、まさにこの点にあります。

Criminal IPで観測された外部公開TeamCity資産

CVE-2026-63077の実際の攻撃対象領域を把握するため、Criminal IP IT資産検索を活用し、インターネット上に公開されているTeamCityインスタンスを観測しました。

TeamCity UIの外部公開状況

Criminal IP IT資産検索でtitle: TeamCityを検索した結果

Criminal IP検索クエリ: title: TeamCity

上記クエリによる検出結果では、2026年7月時点で約248件の外部公開TeamCity資産が確認されました。TeamCityのWebインターフェースは、ログインページのタイトルに「TeamCity」と識別できます。このクエリは、ポート、バージョン、TLS設定に関係なく、パブリックインターネットからアクセス可能なTeamCityインスタンスを広く把握できるものであり、CVE-2026-63077の潜在的な攻撃対象領域全体を確認するための起点となります。

JetBrainsもアドバイザリの中で、「ログイン画面を公開するだけでも、攻撃者に潜在的な侵入口を与える」と警告しています。このクエリ結果は、攻撃者が初期偵察で行うスキャンと同様の流れを再現するものです。検出されたインスタンスがリダイレクト(301/302)で応答する場合や、一部のエラー状態を返す場合であっても、タイトルが表示されているという事実そのものが、TeamCityサーバーの存在を攻撃者に知らせる手掛かりとなります。

即時に攻撃され得るアクティブなインスタンス

Criminal IP IT資産検索でtitle: TeamCity status_code: 200を検索した結果

Criminal IP検索クエリ: title: TeamCity status_code: 200

2つ目のクエリは、1つ目のクエリで確認した外部公開資産のうち、HTTP 200応答を返すインスタンスを絞り込むものです。ステータスコード200は、TeamCityのWebインターフェースが正常に読み込まれていることを意味します。つまり、攻撃者が追加の迂回手段を使わずに、エージェントポーリングエンドポイントへ直接リクエストを送信できる状態であることを示します。

CVE-2026-63077は、HTTP(S)経由でアクセス可能なエージェントポーリングエンドポイントに、細工したデシリアライズ用ペイロードを送信することで成立します。そのため、200応答を返すインスタンスは、こうしたペイロードがサーバーまで到達し、処理される可能性がある環境といえます。すなわち、実際にエクスプロイトが成立し得る、最もリスクの高い資産群です。

TeamCityがこれまで繰り返し悪用されてきた経緯を踏まえると、この2つ目のクエリ結果に含まれる資産は、ランサムウェアグループやAPTの自動スキャナーが優先的に収集する標的リストとなる可能性があります。

外部公開されたTeamCity資産のうち、SSL証明書が期限切れの資産

Criminal IP IT資産検索でtitle: TeamCity ssl_expired: trueを検索した結果

Criminal IP検索クエリ: title: TeamCity ssl_expired: true

3つ目のクエリは、SSL証明書が期限切れの状態で運用されているTeamCityインスタンスを識別するものです。このクエリは、CVE-2026-63077の文脈において特に重要な意味を持ちます。

TeamCityは、ビルドプロセスの中でソフトウェア署名証明書やデプロイ用の認証情報を扱うプラットフォームです。それにもかかわらず、TeamCityサーバー自体のSSL証明書が期限切れになっているという事実は、セキュリティ保守全般が十分に行われていない可能性を示す強いシグナルです。SSL証明書の更新は、通常、自動化または定期点検の項目として管理されるためです。

このような環境では、TeamCityのバージョンアップデート、つまりCVE-2026-63077だけでなく、過去のCVE-2023-42793やCVE-2024-27198に対するパッチも適用されていない可能性があります。証明書の期限切れ期間が長いほど、複数世代の脆弱性が未修正のまま蓄積されている可能性も高まります。国家支援型APTやランサムウェアグループは、まさにこのような管理が行き届いていないインスタンスを優先的に標的にします。

3つのクエリを段階的に整理すると、外部公開されたTeamCity資産のリスク分布が明確になります。

  • 1つ目のクエリは、攻撃者が検出できるTeamCityインスタンス全体の規模を示します。
  • 2つ目のクエリは、その中でもエージェントポーリングエンドポイントにリクエストが到達し得る、アクティブな攻撃対象領域を示します。
  • 3つ目のクエリは、パッチ適用状況やセキュリティ管理全般が不十分である可能性が高い、管理が行き届いていない資産群を示します。これらは、CVE-2026-63077だけでなく、過去の脆弱性も含めて複合的なリスクを抱える、優先的に調査すべき対象です。

パッチ適用状況と対応策

即時アップグレード

TeamCity On-Premisesを運用しているすべての組織は、直ちに2025.11.7(2025.11.xブランチ)または2026.1.3(2026.xブランチ)以降のバージョンへアップグレードする必要があります。TeamCity Cloudのユーザーにはすでに自動的にパッチが適用されているため、追加の対応は必要ありません。

すぐにアップグレードできない場合:セキュリティパッチプラグイン

v2017.1以降のバージョンでは、JetBrainsが提供するセキュリティパッチプラグインを適用することで、CVE-2026-63077のみを個別に修正できます。v2017.1からv2018.1までの環境では、プラグインのインストール後にサーバーの再起動が必要です。v2018.2以降の環境では、管理コンソールからサーバーを再起動せずにプラグインを有効化できます。

プラグインのダウンロード先は、JetBrainsの公式ブログアドバイザリで案内されています。ただし、JetBrainsは、このプラグインがCVE-2026-63077のみを修正するものであるため、可能な限り早期にバージョンアップグレードを行うことを引き続き推奨しています。

ネットワークレベルの対策

パッチ適用とあわせて実施すべき対応は以下の通りです。

  • インターネットに直接公開されているTeamCityサーバーへのVPN接続または追加の認証レイヤーの適用
  • エージェントポーリングエンドポイントへのアクセスを、信頼できるビルドエージェントのIPアドレス範囲のみに制限
  • TeamCityサーバーの最小権限アカウントでの実行による、侵害時の影響範囲の抑制
  • TeamCityサーバーのビルドエージェントとは分離された専用ホスト上での運用

侵害有無の確認

現時点で活発な悪用が確認されていない場合でも、脆弱なサーバーを運用していた期間がある場合は、以下の項目を確認する必要があります。TeamCityの監査ログを確認し、不審なビルドトリガー、不明なユーザーの作成、通常とは異なるビルドスクリプトの変更履歴がないかを確認します。ビルドアーティファクトの整合性を検証し、承認されていないコードの挿入が行われていないかを確認します。さらに、TeamCityに保存されているすべての認証情報(VCS接続情報、APIキー、署名証明書)の有効性を再確認し、不審な点がある場合は直ちに交換する必要があります。

FAQ

Q1. エージェントポーリングポートを外部に公開していなければ安全ですか?

エージェントポーリングプロトコルは、TeamCityの通常のHTTP(S)ポートを通じて動作するため、特定の専用ポートを遮断するだけでは十分な対策にはなりません。TeamCityのWebインターフェースにアクセスできる環境では、エージェントポーリングエンドポイントにも同様にアクセスできる可能性があります。インターネットからTeamCityのログイン画面にアクセスできる状態であれば、CVE-2026-63077の影響を受ける可能性があります。

Q2. 実際の悪用が確認されていないなら、急いでパッチを適用する必要はありませんか?

TeamCityをめぐる過去の悪用事例を踏まえると、早急な対応が必要です。CVE-2023-42793は、パッチ公開後数週間以内にロシアの国家支援型攻撃グループによって攻撃に悪用され、CVE-2024-27198では公開当日に完全なエクスプロイトが公開されました。CVSS 9.8の未認証RCE脆弱性が公開された現時点では、ランサムウェアグループや国家支援型APTがすでにエクスプロイト開発を進めている可能性を前提に対応すべきです。TeamCityサーバーはサプライチェーン攻撃における理想的な標的であり、侵害による潜在的な影響は単一サーバーの被害を大きく上回ります。

結論

CVE-2026-63077からは、主に2つのリスクが見えてきます。第一に、CI/CDサーバーに対する認証なしのリモートコード実行は、単一サーバーの侵害にとどまらず、保存された認証情報やビルドアーティファクトを介して、ソフトウェアサプライチェーン全体の信頼性を損なう可能性があるという点です。第二に、特定のバージョンではなく、パッチ未適用のすべてのインスタンスが影響を受ける脆弱性では、「脆弱なバージョンかどうか」よりも、「外部公開された状態でパッチ未適用のまま運用されているかどうか」が、実質的なリスク判断の基準になるという点です。

ログイン画面の公開だけでも侵入口になり得るという警告を踏まえると、パッチ適用に加えて、外部公開された資産を把握し、公開範囲を最小化する取り組みを並行して行うことで、初めて実効性のある対応が可能になります。

なお、関連して、Steamフォーラムを悪用したClickFix攻撃:Criminal IPで見るXMRig配布インフラの記事も参考にできます。

Criminal IP(criminalip.io/ja/register)に登録すると、すぐに脆弱資産の検知を開始できます。さらに、下記ボタンからデモをご依頼いただくことで、エンタープライズ環境において外部に露出した資産を対象としたCriminal IP の脅威インテリジェンス(TI)分析を直接ご確認いただけます。


本レポートは、サイバー脅威インテリジェンス検索エンジン Criminal IP のデータを基に作成されています。
今すぐCriminal IP の無料アカウントを作成すれば、本レポートで引用された検索結果を直接確認したり、さらに膨大な脅威インテリジェンスを自由に検索することができます。 

データソース: Criminal IP(https://www.criminalip.io/ja)、TheHackerNews(https://thehackernews.com/2026/07/critical-teamcity-flaw-could-let.html)、SecurityAffairs(https://securityaffairs.com/196169/security/jetbrains-patches-cvss-9-8-teamcity-flaw-allowing-server-takeover.html)、HelpNetSecurity(https://www.helpnetsecurity.com/2026/07/28/teamcity-rce-cve-2026-63077-fixed/)

関連記事: https://www.criminalip.io/ja/knowledge-hub/blog/9637

コメントを残す

Criminal IP(クリミナルアイピー)をもっと見る

今すぐ購読し、続きを読んで、すべてのアーカイブにアクセスしましょう。

続きを読む