Qt の OpenSSL バックエンド証明書読み込みメカニズムにおける信頼されていない検索パスの脆弱性が発見され、CVE ID CVE-2025-14575 が割り当てられました。
影響を受けるバージョン: Qt 5.0.0〜Qt 6.5.9、Qt 6.6.0〜Qt 6.8.3、Qt 6.9.0〜6.9.1 Unix および Linux プラットフォーム(macOS を除く)。
影響: Unix および Linux 上の Qt の OpenSSL バックエンドにおける信頼されていない検索パスの脆弱性により、特定の条件下でカレントディレクトリから証明書が読み込まれる可能性があります。
この問題は、Unix ベースのシステム(macOS を除く)で Qt の SSL/TLS 機能を使用するアプリケーションに影響します。Qt 6.9.2 より前のバージョンでは、壊れたシンボリックリンクに対して canonicalPath が空文字列を返すことと、空のパスが渡された際に QSslCertificate::fromPath がカレントディレクトリを検索することが組み合わさり、予期しない証明書が信頼済みのシステム証明書として読み込まれる可能性がありました。
この脆弱性を悪用するには特定の前提条件が必要です。システムの CA 証明書フォルダに無効なシンボリックリンク が存在するか、証明書ストアの更新中に競合状態が発生すること、さらにアプリケーションが攻撃者の管理下にあるディレクトリ(Downloads や /tmp など)から実行されていることが条件となります。悪用に成功した場合、悪意のある証明書が信頼済みシステム証明書として読み込まれることで攻撃者が中間者攻撃を実行できる可能性があり、暗号化通信の情報漏えいや完全性の侵害につながる恐れがあります。
この脆弱性はシステムの設定ミスを前提とするものであり、オンデマンド証明書読み込みをサポートする適切に設定されたシステム(最近のほとんどのシステム)には影響しないため、軽微な問題と評価されています。
CVSS 4.0 スコア: 1.8 / 低
ベクター文字列: CVSS:4.0/AV:L/AC:H/AT:P/PR:H/UI:N/VC:L/VI:L/VA:N/SC:N/SI:N/SA:N
緩和策:
解決策: Qt 6.5.10、6.8.4、Qt 6.9.2 以降にアップデートするか、パッチを適用してください。
パッチ:
6.9: https://codereview.qt-project.org/c/qt/qtbase/+/645356 または https://download.qt.io/official_releases/qt/6.9/CVE-2025-14575-qtbase-6.9.diff
6.8: https://codereview.qt-project.org/c/qt/tqtc-qtbase/+/645393 または https://download.qt.io/official_releases/qt/6.8/CVE-2025-14575-qtbase-6.8.diff
6.5: https://codereview.qt-project.org/c/qt/tqtc-qtbase/+/645812 または https://download.qt.io/official_releases/qt/6.5/CVE-2025-14575-qtbase-6.5.diff