---------------------------------------------------------------------
■(緊急)BIND 9.xの脆弱性(システムリソースの過度な消費)について
(CVE-2019-6477) - フルリゾルバー(キャッシュDNSサーバー)/
権威DNSサーバーの双方が対象、バージョンアップを強く推奨 -
株式会社日本レジストリサービス(JPRS)
初版作成 2019/11/21(Thu)
---------------------------------------------------------------------
▼概要
BIND 9.xにおける実装上の不具合により、namedに対する外部からの攻撃が
可能となる脆弱性が、開発元のISCから発表されました。本脆弱性により
namedが動作するサーバーのシステムリソースが過度に消費され、結果とし
てサービスの一時停止や品質低下などが発生する可能性があります。
該当するBIND 9のパッケージを利用しているユーザーは、各ディストリビュー
ションベンダーからリリースされる情報の収集やバージョンアップなど、適
切な対応を速やかに取ることを強く推奨します。
▼詳細
▽本脆弱性の概要
BIND 9.xには設定ファイル(通常はnamed.conf)により、namedに対するTCP
での同時接続数を制限する機能があります。
一方、BIND 9.11.0以降ではRFC 7766で推奨事項とされた、一つのTCP接続で
複数のDNSトランザクションの並列処理を可能にするQuery Pipeliningが、
TCP-pipeliningとしてサポートされています。当該BINDではTCP-pipelining
のサポートが、デフォルトで有効に設定されています。
BIND 9.xでは2019年4月に公開された脆弱性CVE-2018-5743への対応により、
TCPでの同時接続数を計算する方法が変更されています。本脆弱性はこの変更
の影響により、TCP-pipeliningを用いた複数のDNSトランザクションの並列処
理において、TCPでの同時接続数の制限がバイパスされてしまうことに由来し
ています。
一つのTCP接続から複数のDNSクエリが並列で送られると、受け取ったクエリ
ごとにシステムリソースが割り当てられます。多数のDNSクエリが並列で送ら
れたTCP接続がクローズされた場合、それまでに割り当てられたシステムリソー
スの解放処理が発生し、サーバーが一時的に応答しない状況に陥る可能性が
あります。
外部の攻撃者がこの状況を発生させることで、サービスの一時停止や品質低
下などを発生させることが可能になります。
▽対象となるバージョン
本脆弱性は、以下のバージョンのBIND 9が該当します。
・9.14系列:9.14.1~9.14.7
・9.12系列:9.12.4-P1~9.12.4-P2
・9.11系列:9.11.6-P1~9.11.12
なお、ISCではBIND 9.11.0より前のバージョンにおいて、本脆弱性の評価を
実施していません。
▽影響範囲
ISCは、本脆弱性の深刻度(Severity)を「中(Medium)」と評価しています。
JPRSでは、本脆弱性の内容と影響について検討した結果、DNSの運用に与える
影響が大きいと判断し、緊急の注意喚起として情報提供しています。
本脆弱性については、以下の脆弱性情報[*2]も併せてご参照ください。
[*2] CVE - CVE-2019-6477
<https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-6477>
▼一時的な回避策
設定ファイル(通常はnamed.conf)に以下のオプションを追加して
TCP-pipeliningを無効にした後、namedを再起動することで、本脆弱性を回避
できます。
keep-response-order { any; };
rndcコマンドによるreloadやreconfigでは接続中のTCPクライアントの設定が
リセットされないため、namedの再起動が必要になります。
▼解決策
本脆弱性を修正したパッチバージョン(BIND 9.14.8/9.11.13)への更新、
あるいは、各ディストリビューションベンダーからリリースされる更新の適
用を、速やかに実施してください。
▽注意事項
今回のパッチでは、サーバーにおけるメモリリークの問題が修正されます。
TCP-pipeliningにより極めて多数のDNSクエリが送られた際に、そのTCP接続
において一部の応答がドロップされる状況は、パッチの適用後も発生する可
能性があります。
当該サーバーでTCP-pipeliningによるサービスを提供する必要がない場合、
「一時的な回避策」に記述したTCP-pipeliningの無効化をサーバーに適用す
ることで、影響を最小限に抑えることが可能になります。
▼参考リンク
以下に、ISCから発表されている情報へのリンクを記載します。また、各ディ
ストリビューションベンダーからの情報や前述のCVEの情報なども確認の上、
適切な対応を取ることを強く推奨します。
- ISC
セキュリティアドバイザリ
CVE-2019-6477: TCP-pipelined queries can bypass tcp-clients limit
<https://kb.isc.org/docs/cve-2019-6477>
パッチバージョンの入手先
BIND 9.14.8
<https://ftp.isc.org/isc/bind9/9.14.8/bind-9.14.8.tar.gz>
BIND 9.11.13
<https://ftp.isc.org/isc/bind9/9.11.13/bind-9.11.13.tar.gz>
▼連絡先
本文書に関するお問い合わせは <dnstech-info@jprs.co.jp> までご連絡くだ
さい。
---------------------------------------------------------------------
▼更新履歴
2019/11/21 11:00 初版作成
株式会社日本レジストリサービス Copyright©2001-2024 Japan Registry Services Co., Ltd.