画面サイズ経由のTeamViewer RCE、15.83で修正(CVE-2026-111585)
悪意のあるTeamViewerホストが、助けに接続してきたviewer上で、切り詰められた画面サイズの1回の乗算を通じてコードを実行します。全クライアントを15.83へ更新してください。
TL;DR
- TeamViewerクライアントの画面デコーダーは、ホストが告示する画面サイズを32ビット演算で乗算します。そのため、悪意のあるまたは侵害されたホストが、そのホストに接続しに来たviewer上でコードを実行できます。Remedioが2026年10月29日に研究を公開し、TeamViewerは15.83で修正しました。
- 15.83より前のすべてのクライアントコンポーネントが対象です。Windows、Linux、macOSのFull ClientとHost、WindowsのPortableクライアント、AndroidのRemote Controlアプリに加え、レガシーの15.64、14.7、13.2ラインも含みます。ベンダーはTeamViewerが25億以上の端末にインストールされていると述べています。
- 速報TV-2026-1011はこの欠陥をHigh、CVSS v3.1 8.8と評価し、概念実証は公開していません。同じ15.83にはさらに2つの欠陥が含まれます。セッション録画から到達可能な範囲外書き込みと、macOSでのローカルなrootへの権限昇格です。
- TeamViewerは野生での悪用を認識していないと述べており、2026年11月2日時点でこの欠陥はCISAのKEVカタログに入っていません。すべてのクライアントを15.83へ、または各レガシーラインの修正版へ更新し、何を確認すべきかは続きをお読みください。
影響を受けるのは?
最初の条件に当てはまり、さらに残り2つの少なくとも一方に当てはまる場合に露出します。
- TeamViewerクライアントコンポーネントが15.83より前のバージョンであること。対象はWindows、Linux、macOS上のFull ClientとHost、WindowsのPortableクライアント、AndroidのRemote Controlアプリです。
- CVE-2026-111585について言えば、攻撃者はオペレーターが承諾するセッションのリモートホスト側です。そのホストは攻撃者が運営しているか、セッションのトラフィックかアカウントが乗っ取られた実在のマシンです。侵害はセッションが開いた瞬間、作業が始まる前に起きます。
- 録画経由のCVE-2026-92372については、ユーザーが信頼できない入手元の細工されたセッション録画(
.tvsファイル)を、LinuxまたはmacOSのFull Clientで開くことです。
| ブランチ | 対象バージョン | 修正バージョン |
|---|---|---|
| Full ClientとHost、Windows、Linux、macOS | 15.83より前 | 15.83(2026年10月27日) |
| Portableクライアント、Windows | 15.83より前 | 15.83 |
| Remote Controlアプリ、Android | 15.83より前 | 15.83 |
| レガシー15.64、Windows 7と8 | 15.64.10より前 | 15.64.10 |
| レガシー14.7、Windows、Linux、macOS | 14.7.48868より前 | 14.7.48868 |
| レガシー13.2、Windows | 13.2.36231より前 | 13.2.36231 |
| レガシー13.2、Linux | 13.2.154008より前 | 13.2.154008 |
| レガシー13.2、macOS | 13.2.154007より前 | 13.2.154007 |
RemedioはWindowsのviewerを15.80.6.0でテストして対象と確認し、15.82.6.0にもまだ脆弱なコンストラクターが残っていることを観察しました。したがって境界は紛れもなく15.83です。実行中のものを確認します。
(Get-Item "C:\Program Files\TeamViewer\TeamViewer.exe").VersionInfo.FileVersion
Androidでは、アプリのバージョンは設定のアプリケーション一覧、またはPlay Storeの掲載情報に表示されます。AndroidのRemote Controlアプリは同じ画面伸張の欠陥を抱えているため、管理下の携帯電話もバージョン調査に含めてください。
修正するには?
すべてのクライアントコンポーネントを15.83へ、または各ラインの修正版へ更新します。
- アプリケーションの更新プロンプトから、またはベンダーから15.83をダウンロードして既存のクライアントに上書きインストールし、Full ClientとHostを更新します。
- ポータブル版は自己更新しないため、ベンダーのナレッジベースの15.83ビルドに置き換えます。
- AndroidのRemote ControlアプリをPlay Storeから更新し、バージョンが15.83以降であることを確認します。
- レガシーラインに固定されたホストには、そのラインの修正版を適用します。速報の修正バージョン節がプラットフォームごとにリンクしています。
セッションを承諾することが製品の通常の動作モードであり、欠陥はセッションが開いた時点で発火するため、設定による回避策は存在しません。緩和策の限界は明白です。接続を許すパートナーを制限すれば攻撃者を減らせますが、オペレーターが支援するすべてのホストは依然として悪意ある形状の発生源になり得ます。
根本原因は何か?
viewerは画面ビットマップを、32ビット演算で折り返すサイズで確保します。 その後の書き込みを守る境界チェックは、切り詰められていない寸法を読みます。コンポーネントはCBitmapBufferで、セッションでハードウェア動画デコーダーが使えないときのviewerのフォールバック用伸張サーフェスです。
セッションは、幅、高さ、色深度を運ぶホストのDisplayParamsメッセージで始まります。viewerはこれらの数値からビットマップを確保し、書き込みの経路はこう続きます。
// width, height, bpp_bits all originate in the peer
// DisplayParams message, unchecked.
// stored at plane+0x20, NOT truncated
stride = (bpp_bits * (width + 0x10)) >> 3;
// 32-bit multiply: wraps mod 2^32
plane.byteSize = (uint32)(stride * (height + 0x10));
// allocates the WRAPPED size
buf = operator_new[]( (ulong)(stride * (height + 0x10)) );
乗算は32ビットで評価されて折り返し、折り返された余りだけが確保に届きます。保存された幅と高さはホストの完全な値を保ちます。RLEデコーダーの矩形チェックは、その後の各更新を、宣言された寸法と比較します。割り当てられたバイト数とは決して比較しません。
if ((D_height < y2) || (D_width < x2))
return "invalid rectangle";
// D_width / D_height are the DECLARED dims (untruncated)
// otherwise, for y in [y1, y2):
// write pixels at base + y*stride + (x*bpp >> 3)
この経路のどこにも、告示される形状への上限は課されていません。したがってホストは、確保と書き込みの許可がほぼ2の32乗だけ乖離する寸法を選べます。ホストはまた、意のままにviewerをこのサーフェスへ誘導できます。AV1またはH.264の動画コーデックのネゴシエーションを拒否し、ビットマップサーフェスが担当する可逆タイルの経路を強制するのです。
どのように悪用されるか?
公開された研究は、承諾された1回のセッションから攻撃を歩みます。
- 攻撃者はホストを運用するか、実在のホストのポートを乗っ取ります。被害者のviewerは助けに接続します。被害者がセッションを承諾する、それがCVSSベクトルがUI:Rとして記録する唯一の操作です。
- ホストは動画コーデックのネゴシエーションを拒否するため、viewerは
CBitmapBufferとRLEタイルデコーダーにフォールバックします。 DisplayParamsが32768×32768、32ビット/ピクセルの画面を告示します。意図されたサイズは4,299,162,624バイト、折り返された確保は4,195,328バイト(約4 MB)で、サーフェスは32,784行を主張し続けます。- 宣言されたサイズ全体を覆う1つの矩形の画面更新により、デコーダーはサーフェス全体をそのバッファへ書き込みます。標準のWindowsでは、これはきれいで再現可能なクラッシュであり、通常のセッションの中でのリモートのサービス拒否です。
- コード実行のため、攻撃者は意図的に確保を小さくします。幅0xFFFFFFF5、高さ1、8ビット/ピクセルを告示すると、研究の測定では、確保は約0x440バイトのバッファへ折り返されます。これにより確保は小さなヒープサイズクラスに置かれ、準備可能なオブジェクトの隣に並びます。
- はみ出した書き込みが、viewerが後から自身の先頭フィールドのポインタ経由で呼び出す生きたオブジェクトを破壊します。そのポインタを上書きすれば呼び出しは転送され、研究はスタックピボット経由で
WinExecへつなげ、CFGとDEPの両方を破りました。
実証されたコード実行は、出荷時のバイナリ上で、クライアントが当時の最新版(15.83より前)で通常の防御が有効な状態で動作しました。このデモでは、破壊するバイトはホスト側のフックによって、同一のコード経路を通して配置されており、ヒープの準備段階でネットワークのタイルペイロードの代わりを務めています。
攻撃はどのように流れるか?
承諾された1回のセッションが攻撃面のすべてであり、折り返された確保がホストの画面形状をviewerプロセスの制御に変えます。
助けに接続する"] --> B["ホストが動画コーデックを拒否、
viewerはCBitmapBufferへ"] B --> C["DisplayParamsが
32768 x 32768、32 bppを告示"] C --> D["サイズ乗算が32ビットで折り返し、
小さな確保、完全なキャンバス、
境界チェックなし"] D --> E["全面の矩形が確保の外側へ
書き込む"] E --> F["任意のクラッシュ、またはヒープ準備から
viewer上でのコード実行へ"]
攻撃者に何ができるか?
実証された上限は、セッションが開いた瞬間の、viewerを実行するアカウント権限でのプロセス内コード実行です。
- 攻撃者は好きなときにviewerをクラッシュさせられます。通常のセッションの中で到達するリモートのサービス拒否です。
- サイズクラスの準備により、攻撃者は同じ書き込みを、自分の選んだプログラムのviewer上での実行に変えます。CFGとDEPが有効な当時の最新版(15.83より前)のWindowsクライアントで実証されました。
- CVE-2026-92372の録画経路は、同じ影響をLinuxとmacOSのFull Clientにまで広げます。ユーザーが開く細工された
.tvsセッション録画経由で、ホストは不要です。 - 別個に、CVE-2026-92374はmacOS上の低権限のローカル攻撃者にrootを与えます。インストーラーの特権ヘルパーにおける検証と使用の間の競合とシンボリックリンクの扱いを通じたものです。
主欠陥の条件は少なく明確です。攻撃者はオペレーターが承諾するセッションのホスト側、またはviewerが接続するポートを支配する必要があります。オペレーターには通常のセッションの開始が見え、侵害にパスワードの窃取も追加の操作も必要としません。
なぜ修正は機能するか?
TeamViewerはクローズドソースであり、修正の差分は公開されていません。速報はこの欠陥を現行すべての製品について15.83で修正し、3つのレガシーラインにもバックポートしています。Remedioは外側から境界を検証しました。コンストラクターは15.82.6.0にまだ存在し、15.83が問題を解決します。
修正が何をすべきかは根本原因から従います。確保と境界チェックは同じサーフェスに対して2つの異なる数値を読んでいるため、完全な修正はすべての書き込みを実際に割り当てられたバイトに対して検証させます。さらに、ビットマップが生成される前に、告示される形状を上限に対して検証します。
ベンダーの評価、すなわち最新版への更新を唯一の処置とするImportantの速報は、この範囲と一致しています。
侵害されたか確認するには?
速報も研究も侵害指標を公開していません。痕跡は公開された攻撃の仕組みから従います。
Get-WinEvent -LogName Application | Where-Object { $_.Message -match "TeamViewer" } | Select -First 20
アプリケーションログに説明のつかないTeamViewer.exeのクラッシュがあれば、サービス拒否の形態を示します。コード実行の形態はペイロードをviewerの子として起動します。プロセス生成テレメトリで、親がTeamViewer.exeまたはTeamViewer_Desktop.exeであり、オペレーターが説明できないプロセスを確認してください。
そのようなイベントの前後について、TeamViewer Management Consoleの接続記録を信頼できないパートナーとのセッションについて確認し、ペイロードが実行された場合はオペレーターのアカウントを侵害されたものとして扱ってください。
録画経路については、管理下の端末で信頼できない入手元の.tvsファイルを検索し、更新後に削除してください。更新前に開かれた細工された録画は、敵対的ホストと同じ効果を持ちます。
年表
- 2026-08-14:Remedioがviewerの欠陥をTeamViewer Product Securityへ報告。
- 2026-10-22:TeamViewerが報告をCVSS v3.1 8.8で承認し、CVE-2026-111585を割り当て。
- 2026-10-27:TeamViewerが15.83をリリースし、速報TV-2026-1011と3つのCVEレコードを公表。速報はImportantと評価。
- 2026-10-29:Remedioが技術解析を公開(Omri Darによる)。
- 2026-11-02:TeamViewerは既知の悪用なしと述べており、欠陥はCISAのKEVカタログに入っていません。
FAQ
Androidアプリは影響を受けますか?
はい。AndroidのRemote Controlアプリは、15.83より前のバージョンで同じリモート制御画面の欠陥を抱えています。速報の対象製品一覧によるものです。他の端末を制御するためにTeamViewerを使う管理下の携帯電話にも同じ更新が必要です。
強力なTeamViewerパスワードで防げますか?
いいえ。この攻撃はオペレーターが意図的に承諾するセッションの中で行われます。ホストはviewerのパスワードを必要とせず、侵害はセッションが開いた時点で完了し、viewerがホストに対して行う認証が意味を持つより前のことです。
セッション録画についてはどうですか?
細工された.tvs録画は、LinuxとmacOSにおける2番目の侵入経路です。CVE-2026-92372として追跡され、同じ8.8の評価が付いています。信頼できない入手元の録画はプログラムと同じように扱ってください。未修正のクライアントでは実際にその通りだからです。
これはTightVNC viewerの欠陥と同じバグクラスですか?
はい。同じ週に、リモートアクセスviewerにおける同じパターンの独立した2つの開示が生まれました。ホストが画面形状を告示し、viewerがサイズ計算を切り詰め、伸張経路が確保の外へ書き込む、というものです。SSD Secure Disclosureは2026年10月29日、公開エクスプロイトとともにTightVNCの欠陥を公表しました。ピアが告示する寸法からバッファのサイズを決めるリモートアクセスツールはどれも、同じ問いに値します。
MeshCentralについてはどうですか?
別個の話で、脆弱性の開示ではありません。オープンソースのリモート管理サーバーMeshCentralの保守者は、2026年10月23日に緊急のセキュリティリリースを公表しました。リリースノートは、サーバーとそのリモートクライアントを乗っ取っている攻撃者が活動中であると警告し、直ちに1.3.1へ更新するよう促しています。
このリリースノートが開示のすべてであり、アドバイザリもCVEも存在しません。攻撃面の同じ一角、すなわち支援ツールが接続先のマシンに置く信頼の話です。
野生で悪用されましたか?
TeamViewerは、公開の時点で活動中の悪用を認識していないと述べています。2026年11月2日時点で、欠陥はCISAのKEVカタログに入っていません。研究の実証は研究室の結果であり、現場の報告ではありません。
参考文献
- TeamViewerセキュリティ速報TV-2026-1011、3つのCVEと修正バージョン表:https://www.teamviewer.com/en/resources/trust-center/security-bulletins/tv-2026-1011/(2026年10月27日発行、2026年11月2日確認)
- Remedio研究「Remote Code Execution in TeamViewer」、完全な技術解析:https://remedio.io/research/vulnerability-disclosures/remote-code-execution-in-teamviewer/(2026年10月29日公開、2026年11月2日確認)
- CVE-2026-111585レコード、TeamViewer CNA、CVSS v3.1 8.8:https://www.cve.org/CVERecord?id=CVE-2026-111585(2026年10月27日公開、2026年11月2日確認)
- CVE-2026-92372レコード、セッション録画の経路:https://www.cve.org/CVERecord?id=CVE-2026-92372(2026年10月27日公開、2026年11月2日確認)
- CVE-2026-92374レコード、macOSのローカル権限昇格:https://www.cve.org/CVERecord?id=CVE-2026-92374(2026年10月27日公開、2026年11月2日確認)
- SSD Secure Disclosure「TightVNC Viewer Pre-auth RCE」、同じ週の同じviewerパターンの開示:https://ssd-disclosure.com/tightvnc-viewer-pre-auth-rce/(2026年10月29日公開、2026年11月2日確認)
- MeshCentral 1.3.1リリースノート、活動中の攻撃に対する緊急更新の警告:https://github.com/Ylianst/MeshCentral/releases/tag/1.3.1(2026年10月23日公開、2026年11月2日確認)
- TeamViewerの関連速報TV-2026-1012、Remote Managementアドオン:https://www.teamviewer.com/en/resources/trust-center/security-bulletins/tv-2026-1012/(2026年11月2日確認)
- CISAのKEVカタログ。CVE-2026-111585、CVE-2026-92372、CVE-2026-92374について確認したフィード:https://www.cisa.gov/known-exploited-vulnerabilities-catalog(2026年11月2日確認)