Qtにおけるセキュリティ
Qtのセキュリティは、Qt GroupおよびQt Projectによって構築・維持管理されているインフラストラクチャに依存しています。このインフラストラクチャには、開発、テスト、およびビルド環境が含まれます。例えば、確立されたコードレビュープロセス、静的解析ツールやファジングツールを用いたテストプロセス、サードパーティ製コンポーネントのテスト、そして各リリースにおけるさらなるウイルス対策テストなどが実施されています。 また、Qt にはセキュリティ脆弱性に対処するための確立されたプロセスも存在します。
Qt を使用するアプリケーションやデバイスのセキュリティは、アプリケーション開発者、Qt フレームワークの提供者である Qt Group および Qt Project、ならびに運用者やデバイスメーカーが共同で責任を負うものです。それぞれの義務と責任の範囲の概要については、「Qt 共有セキュリティモデル」を参照してください。
Qt Projectのセキュリティポリシー
Qt Project は、QUIP 15 においてセキュリティポリシーを定めています。セキュリティポリシーの概要は以下の通りです。
- QtCoreには、セキュリティポリシーを徹底し、問題に対処するコアセキュリティチームがあります。
- セキュリティ問題を未然に防ぐための予防的措置 — コードレビュー、コード分析、ファズテストなど。
- セキュリティ問題の報告:Qt Coreチームは、Qtモジュールおよび影響を受けるサードパーティ製コンポーネントに関するセキュリティ問題を監視します。
- セキュリティ問題への対応:メンテナ、コアセキュリティチーム、チーフメンテナ、および Qt Group が連携してセキュリティ問題を共有・対応します。
- 確認されたセキュリティ問題については、Common Vulnerabilities and Exposures(CVE)データベースで公開するとともに、Qtannounce@qt-project.orgメーリングリストで公表します。
Qt Project メーリングリスト情報ページにアクセスして、メーリングリストに登録することができます。
セキュリティ問題の報告
オープンソースの Qt における脆弱性は、security@qt-project.org まで報告してください。Qt Group の商用製品については、psirt@qt.io までご連絡いただくこともできます。
Qt Group の「脆弱性開示に関する協調方針」には、利用可能な報告チャネル、責任を持って開示を行った研究者に対する Qt Group および Qt Project の取り組み、ならびに対応および開示のスケジュールが記載されています。
Qt では現在、バグ報奨金プログラムは実施しておりません。
Qtの脆弱性
技術専門家が Qt 製品のいずれかでセキュリティ上の問題を確認した場合、Common Vulnerabilities and Exposures(CVE)エントリが作成されます。CVE は ID と説明で構成されます。その他のメタデータは、時間の経過とともに追加されます。
Qt製品に関しては、The Qt Companyが責任あるCVE番号付与機関(CNA)としてCVE作成プロセスを管理しています。同社は、新しいCVEを「Qt製品における既知の脆弱性一覧」に掲載するだけでなく、中央のCVEデータベースへの登録も行っています。
脆弱性の影響を受ける製品を一意に識別するため、CVEにはCommon Platform Enumeration(CPE)形式のエントリが含まれています。Qtフレームワークにおける問題の場合、当該CPEのベンダーおよび製品部分はqt:qt となります。例えば、Qt 6.12.0に影響を与える架空のCVEには、以下のCPEが設定されます:
cpe:2.3:a:qt:qt:6.12.0:*:*:*:*:*:*:*ソフトウェア部品表(SBOM)
Qt 6.8以降、Qtのインストールには、インストールされたQtモジュール、パッケージ、およびサードパーティ製コンポーネントに関する情報をSPDX形式で記載したソフトウェア部品表(SBOM)ドキュメントが含まれています。Qt 6.11以降、SBOMドキュメントはCycloneDX形式でも利用可能です。 これらのいずれかの形式のドキュメントを使用して、脆弱性管理やライセンスコンプライアンスのために、インストールされた Qt パッケージを追跡してください。
信頼できないデータ
いくつかの Qt モジュールは、ユーザー入力や実行可能リソースなどのデータを扱います。Qt では、アプリケーション開発者が信頼できないデータを適切に処理することを前提としています。アプリケーションが処理を行う前に Qt API が信頼できないデータを取得・処理する場合、Qt はその API を「セキュリティ上重要」とみなします。セキュリティ上重要な API は、開発中に追加の精査とテストが行われます。
一般に、可能であれば出所不明の未処理データは避け、データを扱う際には安全対策を講じてください。Qt では、ユーザー入力のバリデータなど、データを処理するためのいくつかのメカニズムが提供されています。
詳細については、「信頼できないデータの取り扱い」を参照してください。
開発者向けツール
Qtフレームワークには、Qtアプリケーションのビルド中にビルドマシン上で動作する開発者向けツールが同梱されています。これには、Meta-Object Compiler (moc)、Resource Compiler (rcc)、および各種コード・アセットジェネレータなどが含まれます。これらのツールは、処理対象のプロジェクトを信頼できる入力として扱い、セキュリティ境界を構成するものではありません。 したがって、信頼できないプロジェクトをビルドすると、ビルドマシン上でコードが実行される可能性があります。
詳細については、「Qt の開発ツールを安全に使用する方法」を参照してください。
権限
Qt 6.5 では、権限を扱うためのクロスプラットフォームの権限 API が導入されました。この権限 API は、連絡先リスト、カレンダー、カメラ、マイクなどの、ユーザー関連のプライベートデータやハードウェアを対象としています。
詳細については、「アプリケーションの権限」を参照してください。
セキュリティメンテナンスの延長
お客様の製品には、特定の Qt リリースに対する当社の通常のサポート期間よりも長いライフサイクルがある場合があることを認識しています。そこで、サポート終了 (EoS) 版の Qt をご利用のお客様向けに、メンテナンスサービスを提供することとしました。
「拡張セキュリティメンテナンス(ESM)」サブスクリプションサービスでは、サポート終了(EoS)後の特定の長期サポート(LTS)リリースにおける、Qtライブラリに関連する重大な脆弱性およびセキュリティ(CVS)メンテナンスパッチへのアクセスを提供します。
ESMサービスは、以下のバージョンでご利用いただけます:
| バージョン | ESM提供開始日 |
|---|---|
| Qt 5.15 LTS | 2025年5月26日 |
| Qt 6.5 LTS | 2026年3月30日 |
詳細については、「Qt サポート」を参照してください。
© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.