公開日:2021/01/20 最終更新日:2021/03/10

JVNVU#90340376
Dnsmasq における複数の脆弱性 (DNSpooq)

概要

Dnsmasq は、DNS や DHCP 等の機能を提供するオープンソースソフトウェアです。Dnsmasq には、複数の脆弱性が存在します。
これらの脆弱性は発見者によって DNSpooq と呼称されています。

影響を受けるシステム

  • Dnsmasq 2.82 およびそれ以前

詳細情報

Dnsmasq には、次の複数の脆弱性が存在します。

  • バッファオーバーフロー
    • ヒープベースのバッファオーバーフロー (CWE-122) - CVE-2020-25681
      CVSS v3 CVSS:3.0/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H 基本値:8.1
      DNSSEC 使用時に sort_rrset() 関数においてバッファオーバーフローが発生する
    • ヒープベースのバッファオーバーフロー (CWE-122) - CVE-2020-25682
      CVSS v3 CVSS:3.0/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H 基本値:8.1
      DNSSEC 使用時に extract_name() 関数においてバッファオーバーフローが発生する
    • ヒープベースのバッファオーバーフロー (CWE-122) - CVE-2020-25683
      CVSS v3 CVSS:3.0/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:H 基本値:5.9
      DNSSEC 使用時に get_rdata() 関数においてバッファオーバーフローが発生する
    • ヒープベースのバッファオーバーフロー (CWE-122) - CVE-2020-25687
      CVSS v3 CVSS:3.0/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:H 基本値:5.9
      DNSSEC 使用時に sort_rrset() 関数においてバッファオーバーフローが発生する
    なお、上記4つのバッファオーバーフローは、Dnsmasq が DNSSEC を用いるように設定されている場合にのみ発生します。
  • キャッシュポイズニング
    • データの信頼性についての不十分な検証(CWE-345) - CVE-2020-25684
      CVSS v3 CVSS:3.0/AV:N/AC:H/PR:N/UI:N/S:C/C:N/I:L/A:N 基本値4.0
      DNS 応答受信時のフィールドチェックの不備
    • 不完全または危険な暗号アルゴリズムの使用(CWE-327) - CVE-2020-25685
      CVSS v3 CVSS:3.0/AV:N/AC:H/PR:N/UI:N/S:C/C:N/I:L/A:N 基本値:4.0
      DNSSEC を有効化せずに Dnsmasq をコンパイルした場合、安全でないハッシュアルゴリズムを用いてリソースレコードの検証が行われる
    • データの信頼性についての不十分な検証(CWE-345) -  CVE-2020-25686
      CVSS v3 CVSS:3.0/AV:N/AC:H/PR:N/UI:N/S:C/C:N/I:L/A:N 基本値:4.0
      同一リソースレコードに対して複数のリクエストが行われた場合に、Birthday Attack により不正な応答が行われる

想定される影響

想定される影響は各脆弱性により異なりますが、次のような影響を受ける可能性があります。

  • 当該製品において DNSSEC が有効になっている場合、遠隔の第三者によって細工された DNS レスポンスを受信すると、遠隔からのコード実行や情報の窃取が行われたり、サービス運用妨害 (DoS)状態にされたりする - CVE-2020-25681、CVE-2020-25682、CVE-2020-25683、CVE-2020-25687
  • 遠隔の第三者によって DNS レスポンスを偽装され、利用者が悪意のあるサーバに誘導される - CVE-2020-25684、CVE-2020-25685、CVE-2020-25686

対策方法

アップデートする
開発者が提供する情報をもとに、最新版にアップデートしてください。
本脆弱性の対策として Dnsmasq バージョン 2.83 がリリースされています。

ワークアラウンドを実施する
次の回避策を適用することで、本脆弱性の影響を軽減できます。

  • パケットの内容から動的にフィルタリングを行うファイアウォール (stateful-inspection firewall) を利用して、DNSクライアントを保護する
  • --dns-forward-max=<queries> オプションを使用して、転送できるクエリの最大数を減らす
  • パッチを適用するまで、 DNSSEC 検証オプションを一時的に無効にする
  • DNS-over-HTTPS または DNS-over-TLS を使用して、アップストリームサーバーに接続する
また、一般的な DNS キャッシュポイズニングのシナリオや対策については RFC5452 を参照してください。

ベンダ情報

ベンダ ステータス ステータス
最終更新日
ベンダの告知ページ
NTT-CERT 該当製品無し 2021/03/05
TDK 株式会社 該当製品無し 2021/01/20
オムロン株式会社 脆弱性情報提供済み 2021/01/20
ジェイティ エンジニアリング株式会社 該当製品無し 2021/01/20
ソニー株式会社 脆弱性情報提供済み 2021/01/20
ソースネクスト株式会社 脆弱性情報提供済み 2021/01/20
トレンドマイクロ株式会社 該当製品無し 2021/01/20
ヤフー株式会社 該当製品無し 2021/01/22
ヤマハ株式会社 脆弱性情報提供済み 2021/01/20
住友電気工業株式会社 脆弱性情報提供済み 2021/01/20
富士通コネクテッドテクノロジーズ株式会社 脆弱性情報提供済み 2021/01/20
富士通株式会社 該当製品無し 2021/01/20
日本電気株式会社 該当製品無し(調査中) 2021/01/20
株式会社JVCケンウッド 脆弱性情報提供済み 2021/01/20
株式会社リコー 脆弱性情報提供済み 2021/01/20
横河計測株式会社 該当製品無し 2021/01/20
沖電気工業株式会社 該当製品無し 2021/01/20

参考情報

  1. Vulnerability Note VU#434904
    Dnsmasq is vulnerable to memory corruption and cache poisoning
  2. ICS Advisory (ICSA-21-019-01)
    Dnsmasq by Simon Kelley
  3. JSOF
    DNSpooq

JPCERT/CCからの補足情報

JPCERT/CCによる脆弱性分析結果

謝辞

関連文書

JPCERT 緊急報告
JPCERT REPORT
CERT Advisory
CPNI Advisory
TRnotes
CVE CVE-2020-25681
CVE-2020-25682
CVE-2020-25683
CVE-2020-25684
CVE-2020-25685
CVE-2020-25686
CVE-2020-25687
JVN iPedia

更新履歴

2021/01/22
ヤフー株式会社のベンダステータスが更新されました
2021/03/05
NTT-CERTのベンダステータスが更新されました
2021/03/10
[ベンダ情報リンク] に Siemens のアドバイザリ (PDF) を追加しました