本稿は「Security advisory: Qt Network」の抄訳です。
Qt Networkにおけるバッファオーバーフローの問題が報告され、CVE ID CVE-2023-33285 が付与されました。
QDnsLookupは、DNSプロトコルに違反する特定の特別に細工された応答で、DNS応答を受信するために割り当てられたバッファの境界外を読むことがあります。
QDnsLookupは、ユーザー・アプリケーションによって開始されたDNSクエリの結果としてのみ、このクラスで明示的にDNS応答を解析します。このクラスは、メール配信のためのMXの取得など、DNSレコードのサポートを特に必要とするアプリケーションによって通常使用され、通常のドメイン名解決では使用されません。現在、Qtの他のクラスでは使用されていません。
本脆弱性を利用するには、攻撃者は有効なDNSクエリを取得し、クエリされたサーバーの正しいIPアドレスから応答する必要があります(一般的には、公衆無線LANシナリオのように、被害者システムで使用されるDNSサーバーを制御することによって行われます)。
より遠隔地からの攻撃も可能の場合は、中間DNSサーバーがこの不正な応答を拒否し、伝搬しない可能性があります。
これはUnixベースのプラットフォームのみに影響し、Windowsは全く影響を受けません。
解決策:Qt 5.15.14、Qt 6.2.9、Qt 6.5.1 にアップデート、又は以下のパッチまたを適用してください。
パッチ:
dev: https://codereview.qt-project.org/c/qt/qtbase/+/477644
Qt 6.5: https://codereview.qt-project.org/c/qt/qtbase/+/477704 または https://download.qt.io/official_releases/qt/6.5/CVE-2023-33285-qtbase-6.5.diff
Qt 6.2: https://download.qt.io/official_releases/qt/6.2/CVE-2023-33285-qtbase-6.2.diff
Qt 5.15: https://download.qt.io/official_releases/qt/5.15/CVE-2023-33285-qtbase-5.15.diff