こんにちは。SIOS OSSエバンジェリスト/セキュリティ担当の面 和毅です。
09/21/2023(JST)に、BIND 9の脆弱性情報(High: CVE-2023-3341, CVE-2023-4236)と新バージョン(9.16.44, 9.18.19, 9.19.17)が公開されています。リモートからの攻撃が可能な脆弱性ですが、両方とも迂回策があり、CVE-2023-3341に関してはデフォルトの設定ではリモートから攻撃が出来ないものになっています。CVE-2023-4236の迂回策に関しては、DNS-over-TLS機能を無効にすることになるので該当機能を使用している場合には難しいかもしれません。
今回はこれらの脆弱性の概要と、各ディストリビューションの対応について簡単にまとめてみます。
[過去関連リンク(最新5件)]
- BIND 9の脆弱性情報(Hig: CVE-2023-2828, CVE-2023-2829, CVE-2023-2911)と新バージョン(9.16.42, 9.18.16, 9.19.14 )
- BIND 9の脆弱性情報(High: CVE-2022-3094, CVE-2022-3488, CVE-2022-3736, CVE-2022-3924)と新バージョン(9.16.37, 9.18.11, 9.19.9 )
- 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 Security Vulnerability Matrix
CVSS/プライオリティ
- CVE-2023-3341
- 影響するバージョン
- BIND
- 9.2.0 -> 9.16.43
- 9.18.0 -> 9.18.18
- 9.19.0 -> 9.19.16
- BIND Supported Preview Edition
- 9.9.3-S1 -> 9.16.43-S1
- 9.18.0-S1 -> 9.18.18-S1
- BIND
- 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-2023-4236
- 影響するバージョン
- BIND
- 9.18.0 -> 9.18.18
- BIND Supported Preview Edition
- 9.18.11-S1 -> 9.18.18-S1
- BIND
- 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-2023-3341
- 重要度 – High
- 攻撃 – リモート
- 制御チャネルコード中のスタック枯渇欠陥によりnamedが予期せず終了する可能性
- 説明:制御チャネルメッセージをnamedに送る処理を行うコードは、パケットを処理する際に、ある関数に対して再帰的に呼び出しを行います。再帰の深さは許容するパケットサイズの最大値に依ってのみ制限されています。環境に依っては、これがパケット処理コードで有効なスタックメモリを食いつぶすことになり、namedが予期せず終了することになります。入ってくる制御チャネルメッセージはそのコンテンツが認証される前に処理されるため、この脆弱性の悪用には攻撃者がRNDC鍵を持っている必要はなく、制御チャネルがTCP接続を設定で許可しているネットワークにアクセスできるだけで悪用が可能です。
- 影響:特別に細工されたメッセージを制御チャネルを用いて送るだけで、攻撃者はスタックメモリをパケット処理のために食いつぶすことが可能になりnamedを予期せず終了させることが可能です。しかしながら、この攻撃は利用可能なスタックサイズが充分に小さい環境でのみ発生します。具体的な許容量は様々な要素に依存しており、従って一般的に記述することは不可能です。
- 緩和策:デフォルトでは、namedは制御チャネル接続をloopbackインターフェースのみしか許可しておらず、この攻撃をネットワーク越しで実行するのは不可能です。リモートからTCPポートを使ったアクセスで制御チャネル接続が可能になるようにしている場合には、アクセスを信頼できるIP範囲に絞ることで、アドバイザリに有るような攻撃の実行を予防することが可能です。
- https://kb.isc.org/docs/cve-2023-4236
- 重要度 – High
- 攻撃 – リモート
- DNS-over-TLSクエリのロードが高い場合にnamedが予期せず終了する可能性
- 説明:DNS-over-TLSクエリの処理があるネットワークコードに欠陥があり、namedがアサーションフェーラーにより予期せず終了することがあります。これはDNS-over-TLSクエリのロードが高い状態で内部データ構造が不正に再使用されてしまう事により発生します。
- 影響:namedインスタンスはDNS-over-TLSクエリロードが高い場合にこの欠陥により予期せず終了することがあります。この欠陥はDNS-over-HTTPSコードには、TLSの実装が異なるため影響しません。
- 緩和策:設定中でlisten-on … tls … { … };を削除してDNS-over-TLS接続を無効にすることで悪用を防ぐことが出来ます。しかし、DNS-over-TLS機能が必要な場合には迂回作は存在しません。
主なディストリビューションの対応方法
詳細は、各ディストリビューションの提供元にご確認ください
- Debian
- Red Hat Enterprise Linux/CentOS/Rocky Linux/Alma Linux
- Ubuntu
- SUSE/openSUSE
- Arch
対処方法
各ディストリビューションの案内に従い、アップデートを行ってください。