TeamViewer の脆弱性 CVE-2024-7479/7481:PoC エクスプロイトがリリース

Exploit Releases for TeamViewer Flaws (CVE-2024-7479 & CVE-2024-7481) Let Unprivileged Users Load Arbitrary Kernel Drivers

2024/10/07 SecurityOnline — 人気のリモート・アクセス・ツールである TeamViewer で発見された、2つの深刻度の高い脆弱性 CVE-2024-7479/CVE-2024-7481 (CVSS:8.8) に対する技術的詳細と PoC エクスプロイトコードを、セキュリティ研究者である Peter Gabaldon が公開した。これらの脆弱性の悪用に成功した攻撃者は、Windows ローカル権限昇格を達成し、ドライバーのインス トール中に発生する暗号署名の不適切な検証を突いて、システム・レベルのアクセスを取得して任意のコード実行を可能にする。

これらの2つの脆弱性 は、TeamViewer_service.exe コンポーネントを介してドライバーをインストールする際の、認証の欠如と不十分な暗号署名の検証という根本的な問題に起因している。このサービスのデフォルトは、悪意の操作に対して脆弱なポート 5939/tcp での実行であるため、攻撃者は権限を昇格して重要なシステム機能の制御を達成する。


Peter Gabaldon は、「TeamViewer は、インストールされるドライバーの署名を検証していない。したがって、TeamViewer により、ユーザー・モードからカーネル・モードへの権限昇格が可能になる。 この欠陥は、VPN ドライバーとプリンター・ドライバーのインストール・プロセスに存在し、関連性のあるものだが、別個の脆弱性として識別されていると指摘している。

1つ目の脆弱性 CVE-2024-7479 は、VPN ドライバーのインストール中に発生する。 正当な TeamViewer クライアントを偽装し、適切な署名検証の欠如を悪用することで、悪意のドライバーのインストールをリクエストする攻撃者は、TeamViewer の認証メカニズムを効果的にバイパスしていく。 Gabaldon は、「TeamViewer クライアントを装い、VPN ドライバーのインストールを要求するが、別の INF を指し示す。TeamViewer の元の INF を、別の (権限のない) パスで再利用し、不正なドライバーの名前を “teamviewervpn.sys” に変更する」と述べている。​

2つ目の CVE-2024-7481も類似するものであるが、VPN ドライバーではなくプリンター・ドライバーのインストールが関係する。Gabaldon は、「TeamViewer は同じエラーを2回発生し、両方の IPC メッセージに任意のドライバーのロードを可能にする、脆弱性が含まれていた。VPN ドライバーまたはプリンター・ドライバーのインストールをクリックするとメッセージが表示されるが、結果は同じであり、任意のドライバーをロードできる」と説明している。

研究者やセキュリティ専門家たちによる、CVE-2024-7479/CVE-2024-7481 への理解を深めるために、PoC エクスプロイトが GitHub に公開されている。彼のガイダンスに詳述されるのは、攻撃者による Bring Your Own Vulnerable Driver (BYOVD) が達成されると、ユーザー・モードからカーネル・モードへと権限が昇格し、システムが完全に侵害されるというシナリオである。

さらに、このエクスプロイトには、TeamViewer の GUI 保護をバイパスするという、驚くべき発見が含まれている。それにより、TeamViewer のオプション ”‘Changes require administrative rights on this computer” もバイパスされる。このチェックは GUI 経由でのみ有効であり、ソケットに接続して任意のドライバーをロードすることは不可能である。

すでに TeamViewer は、Windows 用バージョン 15.58.4 で、これらの脆弱性に対処しているため、ユーザーにとって必要なことは、ソフトウェアを直ちに更新することである。TeamViewer の古いバージョンを実行しているシステムは、これらの権限昇格攻撃に対して脆弱である点に、注意してほしい。

Gabaldon の分析が浮き彫りにするのは、システム・リソースに広範囲にアクセスするソフトウェアでは、不適切な暗号検証により甚大な被害がもたらされるという点である。よく知られている Bring Your Own Vulnerable Driver (BYOVD) の手法を用いて、有効な署名済みドライバーを Windows カーネルにロードし、それを悪用してユーザー・レベルから高権限のアクションを実行することは、とても容易なことである。