BIND 9の脆弱性情報(Medium: CVE-2021-25220, CVE-2022-0396, High: CVE-2022-0635, CVE-2022-0667)と新バージョン(9.11.37, 9.16.27, 9.18.1 )

こんにちは。SIOS OSSエバンジェリスト/セキュリティ担当の面 和毅です。

03/17/2022(JST)に、予告通りBIND 9の脆弱性情報(Medium: CVE-2021-25220, CVE-2022-0396, High: CVE-2022-0635, CVE-2022-0667)と新バージョン(9.11.37, 9.16.27, 9.18.1 )が公開されています。今回は、これらの脆弱性の概要と、各ディストリビューションの対応について簡単にまとめてみます。


BIND 9の脆弱性情報(High: CVE-2021-25218)と新バージョン(9.11.35, 9.16.20, 9.17.17 )

BIND 9の複数の脆弱性情報(Medium: CVE-2021-25214, High: CVE-2021-25215, CVE-2021-25216)と新バージョン(9.11.31, 9.16.15, 9.17.12 )

BIND 9の脆弱性情報(High: CVE-2020-8625)

BIND 9の複数の脆弱性情報(Medium: CVE-2020-8620, CVE-2020-8621, CVE-2020-8622, CVE-2020-8623, Low: CVE-2020-8624)と新バージョン(9.11.22, 9.16.6, 9.17.4 )

BIND 9の複数の脆弱性情報(Medium: CVE-2020-8618, CVE-2020-8619)と新バージョン(9.11.20, 9.16.4, 9.17.2)

BIND 9の複数の脆弱性情報(High: CVE-2020-8616, CVE-2020-8617)と新バージョン(9.11.19, 9.14.12, 9.16.3)

BIND 9 の脆弱性情報(Medium: CVE-2019-6477)

BINDの脆弱性情報(Medium: CVE-2019-6475, CVE-2019-6476)


一次情報源

BIND 9 Security Vulnerability Matrix

CVE番号影響するバージョンプライオリティ攻撃CVSS ScoreCVSS Vector
CVE-2021-25220BIND 9.11.0 – 9.11.36, 9.12.0 – 9.16.26, 9.17.0 – 9.18.0, 9.11.4-S1 – 9.11.36-S1, 9.16.8-S1 – 9.16.26-S1MediumリモートCVSS Score: 6.2CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:C/C:N/I:H/A:N/E:U/RL:U/RC:C
CVE-2022-0396BIND 9.16.11 – 9.16.26, 9.17.0 – 9.18.0, 9.16.11-S1 – 9.11.26-S1MediumリモートCVSS Score: 4.9CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L/E:F/RL:O/RC:C
CVE-2022-0635BIND 9.18.0HighリモートCVSS Score: 7.0CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H/E:F/RL:O/RC:C
CVE-2022-0667BIND 9.18.0HighリモートCVSS Score: 7.0CVSS:3.1:AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H/E:F/RL:O/RC:

修正方法

各ディストリビューションの情報を確認してください。

CVE概要(詳細はCVEのサイトをご確認ください)

  • https://kb.isc.org/docs/cve-2021-25220
    • 重要度 – Medium
    • 攻撃 – リモート
    • 説明:forwardersを使用する際に、それらのフォワーダから(あるいはそれらを通じて)与えられた偽のNSレコードがキャッシュされnamedによって使用される可能性があり、結果として不正な応答を返す可能性があります。

      いくつかの設定例がこの脆弱性の影響を受けます:

      • リゾルバがzoneごとまたはglobalでforward firstを使用している場合(forward firstはデフォルトです)。
      • リゾルバがglobalでforwardを使用していないが、ゾーンごとにforward first(デフォルト)またはforward onlyにしている場合。
      • リゾルバがglobalでforwardされておりいくつかのDNSネームスペースで無効にされている場合。

      権威のみのBIND 9サーバはこの脆弱性の影響を受けません。

  • https://kb.isc.org/docs/cve-2022-0396
    • 重要度 – Medium
    • 攻撃 – リモート
    • 説明:BINDがクライアントから送信される特別に細工されたTCPストリームによって、TCP接続スロットを不定のタイムフレームで消費する可能性があることがわかりました。

      この問題はBINDサーバでkeep-response-orderが有効になっている場合にのみ発生し、これはデフォルト設定では有効になっていません。keep-responder-orderオプションはACLブロックにあり、この中の任意のホストが問題があるバージョンのサーバに対して影響を及ぼすことが出来ます。

  • https://kb.isc.org/docs/cve-2022-0635
    • 重要度 – High
    • 攻撃 – リモート
    • 説明:BIND 9.18.0 stableリリースに於いてRFC 8198の「Aggresive Use of DNSSEC-Validated Cache(DNSSEC検証済みキャッシュの積極的な使用)」(synth-from-dnssec)をリファクタリングし、デフォルトを変更して現在は自動的にdnssec-validatingリゾルバが有効になるようにしています。この機能が有効になっているサーバに対して、反復される特定のパターンのクエリがあるときにquery.c:query_dnameでINSISTフェーラーを引き起こしnamedが想定外に終了してしまうことがある事がわかりました。

      この問題はBINDサーバでdnssec-validation特定synth-from-dnssecが有効になっている場合に発生します。dnssec-validation autoがデフォルト設定で、この設定の場合synth-from-dnssecを明示的に無効にしていない場合には自動的にsynth-from-dnssecも有効になってしまいます。

    • 迂回策: named.confで
      
      synth-from-dnssec no;
      

      とすることで本問題を迂回することが可能です。しかし、これはDNSSEC-singedゾーンに対して疑似ランダムサブドメインから保護するために必要なものなので、この迂回策はテンポラリとしていただくことをお勧めします。

  • https://kb.isc.org/docs/cve-2022-0667
    • 重要度 – High
    • 攻撃 – リモート
    • 説明:BIND 9.18.0 stableリリースに於いて再帰的なクライアントコードがリファクたリングされました。このリファクタリングで”backstop lifetime timer”が導入されました。

      BINDがフォワードされる必要があるDSレコードのリクエストを処理している際に、プロセスは完了又は”backstop lifetime timer”がタイムアウトするまで待つことになります。resume_dslookup()関数が呼ばれてそのようなタイムアウトになった場合、関数は読み込みが前回シャットダウンされたかをテストしていませんでした。これによりアサーションフェーラーが発生しBINDプロセスが終了します。


主なディストリビューションの対応方法

詳細は、各ディストリビューションの提供元にご確認ください


対処方法

各ディストリビューションの案内に従い、アップデートを行ってください。全てのRed Hat製品でパッチが行き渡っているかを確認するには、Red Hat SatelliteKatello、Spacewalk等を使うと管理が便利でしょう。

また、サービスの再起動が発生しますので、peacemakerなどOSSのクラスタ製品やLifeKeeperなどの商用のクラスタリング製品を使うとサービス断の時間を最小限にすることが出来ます。

日々のメモを更新しています。

セキュリティ関係ニュースを更新しています。個別で情報出せるようになる前の簡単な情報・リンクなんかも載せていきます。



タイトルとURLをコピーしました