01/26/2022(JST)に、予告通りBIND 9の脆弱性情報(High: CVE-2022-3094, CVE-2022-3488, CVE-2022-3736, CVE-2022-3924)と新バージョン(9.16.37, 9.18.11, 9.19.9 )が公開されています。いずれもリモートからの悪用が可能でHighのものばかりです。今回はこれらの脆弱性の概要と、各ディストリビューションの対応について簡単にまとめてみます。
[過去関連リンク(最新5件)]
- BIND 9の脆弱性情報(Hig: CVE-2022-2906, CVE-2022-3080, CVE-2022-38177, CVE-2022-38178, Medium: CVE-2022-2795,CVE-2022-2881)と新バージョン(9.16.33, 9.18.7, 9.19.5 )
- BIND 9の脆弱性情報(High: CVE-2022-1183)と新バージョン(9.16.28, 9.18.3, 9.19.1 )
- 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 )
一次情報源
CVSS/プライオリティ
- CVE-2022-3094
- 影響するバージョン
- 9.16.0 -> 9.16.36, 9.18.0 -> 9.18.10, 9.19.0 -> 9.19.8, 9.16.0-S1 -> 9.16.36-S1
- Severity
- High
- 攻撃
- リモート
- CVSS Score / CVSS Vector
- Vendor: 7.5
- CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
- 影響するバージョン
- CVE-2022-3488
- 影響するバージョン
- 9.11.4-S1 -> 9.11.37-S1, 9.16.8-S1 -> 9.16.36-S1
- Severity
- High
- 攻撃
- リモート
- CVSS Score / CVSS Vector
- Vendor: 7.5
- CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
- 影響するバージョン
- CVE-2022-3736
- 影響するバージョン
- 9.16.12 -> 9.16.36, 9.18.0 -> 9.18.10, 9.19.0 -> 9.19.8, 9.16.12-S1 -> 9.16.36-S1
- Severity
- High
- 攻撃
- リモート
- CVSS Score / CVSS Vector
- Vendor: 7.5
- CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
- 影響するバージョン
- CVE-2022-3924
- 影響するバージョン
- 9.16.12 -> 9.16.36, 9.18.0 -> 9.18.10, 9.19.0 -> 9.19.8, 9.16.12-S1 -> 9.16.36-S1
- Severity
- High
- 攻撃
- リモート
- CVSS Score / CVSS Vector
- Vendor: 7.5
- CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
- 影響するバージョン
修正方法
各ディストリビューションの情報を確認してください。
CVE概要(詳細はCVEのサイトをご確認ください)
- https://kb.isc.org/docs/cve-2022-3094
- 重要度 – High
- 攻撃 – リモート
- 説明:dynamic DNS updateを大量に流すことにより、namedが大量のメモリをアロケートします。これにより、namedがFreeメモリの枯渇により終了します。現時点ではこれが悪用された形跡はありません。メモリのアロケーションはACLのチェックの前に行われ、クレデンシャルが許可されているクライアントにより動的にアップデートされる際に保持されます。アップデートの送信を許可されていないクライアントに割り当てられたメモリは、拒否されるとすぐに解放されます。したがって、この脆弱性の範囲は、ゾーンの動的変更を許可されている信頼できるクライアントに限定されます。動的更新が拒否されると、メモリはすぐに解放されます。したがってnamedを低下又は停止させるには、有害な結果の達成を意図したクエリのフラッドと同量の、受け入れられないダイナミック更新のフラッドを送信する必要があります。BIND 9.11 以前のブランチも影響を受けますが、メモリの制約よりも寧ろ内部リソースの枯渇によるものです。 これはパフォーマンス低下の可能性を意味しますが、ほとんどのサーバーでは重大な問題にはなりません。したがって、BIND 9.16より前のバージョンについては対処は行われません。
- 緩和策:なし
- https://kb.isc.org/docs/cve-2022-3488
- 重要度 – High
- 攻撃 – リモート
- 説明:同じクエリに対して繰り返し応答を処理している際に、両方の応答にECS疑似オプションが含まれているが、最初の応答が何らかの形で壊れている場合、BIND がアサーション エラーで終了する可能性があります。ここでの「壊れた」とは、クエリとAnswer Nameの不一致など、リゾルバがクエリレスポンスを拒否する原因となるものです。
- 緩和策:無し
- https://kb.isc.org/docs/cve-2022-3736
- 重要度 – High
- 攻撃 – リモート
- 説明:BIND 9 リゾルバは、Stable CacheとStale Answerが有効で、stale-answer-client-timeout が正の整数に設定されている場合、リゾルバがRRSIGクエリを受信するとクラッシュする可能性があります。
- 迂回策: stale-answer-client-timeout を0にするか off/disabledにすることで、この問題によるBINDのクラッシュを防止することが出来ます。
- https://kb.isc.org/docs/cve-2022-3924
- 重要度 – High
- 攻撃 – リモート
- 説明: この問題はリゾルバでstale-answer-enable yes; になっていて、stale-answer-client-timeout が0よりも大きい際に発現します。リゾルバが再帰を必要とする多くのクエリを受け取ると、再帰が完了するのを待機するクライアントの数がそれに応じ増加します。新しいクライアント クエリを受信したときにすでに十分な数のクライアントが待機していて、最も長く待機しているクライアントをSERVFAILにする必要がある場合 (BIND 9 ARM recursive-clients 制限とソフトクォータを参照)、Stale Answerを古いクライアントに提供するものと、タイムアウトによるSERVFAILを送信するものとの間で競合が発生し、アサーションフェーラーが発生する可能性があります。
- 迂回策: stale-answer-client-timeoutを無効にするか、タイムアウト値を0にすることで問題を迂回することが可能です。
主なディストリビューションの対応方法
詳細は、各ディストリビューションの提供元にご確認ください
- Debian
- Red Hat Enterprise Linux/CentOS
- Ubuntu
- SUSE/openSUSE
- Arch
対処方法
各ディストリビューションの案内に従い、アップデートを行ってください。全てのRed Hat製品でパッチが行き渡っているかを確認するには、Red Hat SatelliteやKatello、Spacewalk等を使うと管理が便利でしょう。