本文へ移動
English version →
高 9.1 急ぎ度: 早めに

FreeRDPに証明書検証の脆弱性、3.32.2で修正

FreeRDPのクライアントが接続先の証明書を正しく確認せず、なりすましのサーバーに接続するおそれがあります。FreeRDPを使うクライアントやゲートウェイを洗い出し、3.32.2以降に更新してください。

CVE-2026-121392 公開 更新 執筆・監修: 佐々木 航 人が監修しながらAIを活用して執筆

同じ発表の脆弱性 3 件

画像は生成 AI で作成したイメージです

急ぎ度: 早めに

CVSS v3は7.4、v4は9.1と高めで、修正版3.32.2が公開されているため、棚卸しと更新を早めに進める段階です。

関係があるか

FreeRDPを使ってRDPサーバーに接続するクライアントが対象です。Linuxのリモートデスクトップクライアントのほか、FreeRDPを内部に組み込んだ製品やゲートウェイを運用している組織も当てはまります。

製品影響を受ける版修正版
FreeRDP 3.32.2より前のすべての版 3.32.2
FreeRDPを組み込んだ製品(リモートデスクトップクライアント、接続ゲートウェイなど) 同梱しているFreeRDPが3.32.2より前の版 各ベンダーやディストリビューションの告知で確認してください

確かめ方

  1. 1社内でFreeRDPを使うクライアントやゲートウェイを洗い出します。Remminaや、Apache Guacamoleのようにライブラリとして使う製品は、利用者が気づきにくいので見落とさないようにします。
  2. 2xfreerdp /version で、インストールされているFreeRDPの版を確認します。3.32.2より前なら対象です。
  3. 3FreeRDPを組み込んだ製品は、製品側の告知で同梱している版と修正版の有無を確認します。
  4. 4Windows標準のリモートデスクトップ接続はFreeRDPを使わないため、この脆弱性の対象ではありません。

何が起きたか

FreeRDPのクライアントに、接続先サーバーの証明書を確認する処理の不備が見つかりました。本来なら拒否すべき証明書を受け入れてしまい、接続先が本物かどうかの確認をすり抜けられます。

問題があるのは tls_verify_certificate() の名前の照合です。証明書にSANという名前の一覧があり、接続先と一致しないのに、古い形式のCommon Nameで照合を続けて受け入れてしまいます。IPアドレスで接続したときも、IPアドレスをDNS名の文字列と突き合わせて一致と判定します。

FreeRDPは3.32.2で修正しました。

攻撃の流れ

  1. 1

    経路に割り込む

    攻撃者がクライアントとRDPサーバーの通信の途中に入ります。

  2. 2

    別の証明書を提示

    接続先と名前が一致しない証明書を、偽のサーバーとして見せます。

  3. 3

    検証を通過

    FreeRDPが名前の照合を誤り、証明書を受け入れます。

  4. 4

    セッションを傍受

    入力したキー、クリップボード、画面の内容が攻撃者に渡ります。

公開されている情報をもとにした流れの例です。

どう悪用されるか

認証は要りません。利用者に特別な操作を求める必要もなく、ネットワーク経由で攻撃されます。ただし、攻撃者はクライアントとサーバーの通信経路の途中に入れる位置にいて、さらにクライアントが信頼している認証局(CA)の発行した証明書を持っていなければなりません。このため、誰でも簡単に攻撃できる脆弱性ではありません。CVSS v3で攻撃の複雑さが高と評価されているのも、この二つの条件が理由です。

条件がそろうと、RDPセッションの中身がそのまま見えます。リモート先で入力したパスワードなどのキー入力、コピーした内容、画面の表示が対象です。評価では改ざんの影響も高とされており、盗み見だけでは終わらない前提で考えたほうが安全です。

今すぐやること

  1. 1

    FreeRDPを使う環境を洗い出す

    クライアントPC、踏み台、接続ゲートウェイのほか、FreeRDPを組み込んだ製品を一覧にします。製品の画面に「FreeRDP」と出ないものも多いので、導入元の資料やパッケージ一覧から探します。

    xfreerdp /version
  2. 2

    修正版に更新する

    FreeRDPを単体で入れている環境は、修正版に更新します。パッケージで入れている場合は、ディストリビューションが配る更新を当てます。

  3. 3

    組み込み製品はベンダーの告知を確認する

    Remminaなどのクライアントやゲートウェイ製品は、製品側がFreeRDPを同梱していることがあります。ベンダーの告知で、対応版の有無と更新の時期を確認します。FreeRDPのセキュリティアドバイザリも参照してください。

  4. 4

    更新までの間は接続経路を絞る

    更新できないクライアントは、社外の公衆ネットワークからの接続や、経路の管理が行き届かない場所からの接続を減らします。

すぐ更新できないとき

更新できない間は、FreeRDPを使うクライアントからの接続を社内ネットワークやVPN経由に限り、経路の途中に第三者が入れる場面を減らします。この対策で脆弱性自体が消えるわけではないので、更新までのつなぎとして扱ってください。

背景

FreeRDPはオープンソースのRDP実装で、単体のクライアントとしてだけでなく、ライブラリとして多くのリモートデスクトップクライアントや接続ゲートウェイに組み込まれています。ライブラリ側の脆弱性は、それを使う製品ごとに更新の時期が違うため、自社が使っている全製品に修正が届くまで時間がかかります。

RDPの接続では、クライアントが「いま届いた証明書は、自分が接続しようとした相手のものか」を名前で照合します。現在の一般的な作法では、SANがある証明書はSANだけを見て、IPアドレスはIPアドレス用の項目と突き合わせます。今回の不備は、この照合の二つの決まりを守っていなかった点にあります。RDPのサーバーでは自己署名証明書を使い、警告を承諾して使い続ける運用も少なくありません。それに対して、社内CAや公的なCAの証明書で名前を検証している環境は、この照合を安全の拠り所にしています。今回の脆弱性が影響するのは、その環境です。

よくある質問

Q.接続先のRDPサーバーがWindowsなら、サーバー側も更新が必要ですか。
A.不要です。不備があるのはFreeRDPのクライアント側の検証処理で、サーバー側の話ではありません。更新が必要なのは、FreeRDPを使って接続する側です。
Q.ディストリビューションのパッケージの版が3.32.2より前のままですが、未対応と判断してよいですか。
A.それだけでは判断できません。ディストリビューションは版番号を上げずに修正だけを取り込むことがあるため、そのディストリビューションのセキュリティ告知で、このCVEが修正済みか確認してください。

この記事は、取得元の公開情報をもとに、人が監修しながらAIを活用して執筆しています。執筆と監修は佐々木 航が担い、公開したあとも人が内容を確認しています。誤りに気づいたときは直し、記事の末尾に訂正の行を残します。対応を決める前に、下の原文と参照先も確認してください。

影響パッケージ

種類パッケージ影響を受ける版修正版
FreeRDP FreeRDP
3.32.2 未満
3.32.2

ディストリビューション別の修正状況

各ディストリビューションが公開している、この CVE の修正パッケージ修正版は配布版ごとに違うので、リンク先で確かめてください。

原文の説明 取得元が公開している説明をそのまま載せています (多くは英語)。

FreeRDP before 3.32.2 contains an improper certificate validation vulnerability in tls_verify_certificate() that accepts Common Name fallback despite non-matching SAN entries and matches IP literals against DNS strings. Man-in-the-middle attackers holding a certificate from a client-trusted CA can bypass server identity checks to intercept RDP sessions, including keystrokes, clipboard, and screen content.

出典: CVE.org (CVE Program・cvelistV5) NVD GitHub Advisory

参照URL

当サイトでは、アクセス解析と広告の効果測定のために Cookie を使います。株式会社Game のサイト共通の設定です。 詳しく