BIND 9 の TKEY 機能における実装不備により遠隔からサービス不能にされてしまう脆弱性(Scan Tech Report) | ScanNetSecurity
2024.04.20(土)

BIND 9 の TKEY 機能における実装不備により遠隔からサービス不能にされてしまう脆弱性(Scan Tech Report)

DNS サーバを構築するためのソフトウェアである BIND 9 に遠隔からサービスを不能とすることが可能となる脆弱性が報告されています。

脆弱性と脅威 エクスプロイト
1.概要
DNS サーバを構築するためのソフトウェアである BIND 9 に遠隔からサービスを不能とすることが可能となる脆弱性が報告されています。当該脆弱性を利用して攻撃者に DNS サーバの機能を停止され偽の DNS サーバを設立されることにより、攻撃対象者は悪意のある Web コンテンツに誘導されてしまう可能性があります。


2.深刻度(CVSS)
7.8
https://nvd.nist.gov/cvss.cfm?version=2&name=CVE-2015-5477&vector=(AV:N/AC:L/Au:N/C:N/I:N/A:C)


3.影響を受けるソフトウェア※1
以下のバージョンの BIND が当該脆弱性の影響を受ける可能性があります。

- 9.1.0 から 9.8.x 系の全てのバージョン
- 9.9.0 から 9.9.7-P1
- 9.10.0 から 9.10.2-P2

ただし、以上に示したバージョンのソフトウェアでも、OS のベンダが独自にパッチを適用している場合があるため、パッチが場合は当該脆弱性の影響を受けません。


4.解説
DNS サーバを構成するソフトウェアである BIND のバージョン 9 系に、遠隔からサービスを停止させることが可能な脆弱性が報告されています。

BIND 9 では、マスタサーバがスレーブサーバの間でアップデート情報を転送する際に、攻撃者による中間者攻撃などを防ぐために、TSIG 機能というものが存在します。TSIG 機能では、暗号鍵やパスワードによる認証機能を提供しています。当該機能では、サーバとクライアントの間でパスワードを安全に交換するために、TKEY 機能により公開鍵を用いてパスワードの交換を行います。
脆弱性は、TKEY 機能を構成するプログラム lib/dns/tkey.c に含まれる dns_tkey_processquery() メソッドの dns_message_findname() 関数内での変数処理に不備があるため生じています。

DNS プロトコルでは、どのような情報が要求されているかをサーバに伝えるためにクエリレコードが用いられます。攻撃では、クエリレコードのパラメータの内 Name パラメータと Type パラメータが用いられます。Name パラメータは主にドメイン名、Type パラメータにはどのような情報 (MX レコードなど) が要求されているかを指定します。

クエリレコードで宣言された情報が不十分である場合は追加レコードが参照されます。追加レコードでは、クエリレコードで指定された Name パラメータと Type パラメータが一致する情報を検索し、情報の追加を行います。BIND が提供する TKEY 機能に対するクエリでは、lib/dns/tkey.c のメソッドである dns_tkey_processquery() を用いて追加レコードの検索を行います。当該脆弱性は dns_tkey_processquery() メソッドの dns_message_findname() 関数における name 変数の処理の不備に起因しています。

追加レコードで必要な情報が検索できなかった場合は、応答レコードに対して検索を行います。まず、追加レコード内でクエリレコードの Name パラメータ (name 変数) と一致する情報を検索します。一致する情報が一つでも見つかった場合は、一致するすべての情報が foundname 変数に格納され、name 変数が初期化されます。次に、foundname 変数に格納された情報の内、クエリレコードで指定した Type パラメータが一致するものを検索します。この際に TKEY が検索されれば dns_message_findname() 関数は正の戻り値を出力し、応答レコードの検索を行わず情報の検索を終えますが、TKEY が検索できなかった場合は dns_message_findname() 関数内で name 変数の検証で異常が発生し、BIND のプロセスが assertion error により終了します。

実際に当該脆弱性を利用して攻撃を行うためには、以下のクエリを DNS サーバに送信します。

(1) クエリレコードの Type パラメータに "TKEY"、Name パラメータに適当なドメイン名を指定します。
(2) 追加レコードの情報として、クエリレコードと一致する Name パラメータを指定し、Type パラメータに "TKEY" 以外のものを指定する。

当該脆弱性を用いた攻撃によりサービスが停止した場合、/var/log/messages に以下のような行が出力されます。

Aug 31 20:14:51 localhost named[1746]: message.c:2311: REQUIRE(*name == ((void *)0)) failed, back trace


5.対策
当該脆弱性は TKEY 機能を無効にしていても影響を受けるため、設定の変更による対処が出来ません。以下のバージョンに BIND をアップデートすることにより、対処することが可能です。

- 9.9.7-P2
- 9.10.2-P3

また「◆影響を受けるソフトウェア」にも記載した通り、OS によってはパッチが適用されたバージョンにアップデートされる場合もあるため、各ベンダが公開している情報を確認することを推奨します。


6.ソースコード
(Web非公開)

(執筆:株式会社ラック サイバー・グリッド研究所

※Web非公開該当コンテンツ閲覧をご希望の方はScan Tech Reportにご登録(有料)下さい。

Scan Tech Report
http://scan.netsecurity.ne.jp/archives/51916302.html

《株式会社ラック デジタルペンテスト部》

関連記事

特集

PageTop

アクセスランキング

  1. 東芝テックが利用するクラウドサービスに不正アクセス、取引先や従業員の個人情報が閲覧された可能性

    東芝テックが利用するクラウドサービスに不正アクセス、取引先や従業員の個人情報が閲覧された可能性

  2. 東京高速道路のメールアカウントを不正利用、大量のメールを送信

    東京高速道路のメールアカウントを不正利用、大量のメールを送信

  3. セキュリティ対策は株価を上げるのか ~ 株主総利回り(TSR)の平均値は高い傾向

    セキュリティ対策は株価を上げるのか ~ 株主総利回り(TSR)の平均値は高い傾向

  4. フュートレックにランサムウェア攻撃、本番環境への侵入形跡は存在せず

    フュートレックにランサムウェア攻撃、本番環境への侵入形跡は存在せず

  5. 「引っかかるのは当たり前」が前提、フィッシングハンターが提案する対策のポイント ~ JPAAWG 6th General Meeting レポート

    「引っかかるのは当たり前」が前提、フィッシングハンターが提案する対策のポイント ~ JPAAWG 6th General Meeting レポート

  6. インフォマート 公式 Facebook ページに不正ログイン

    インフォマート 公式 Facebook ページに不正ログイン

  7. バッファロー製無線 LAN ルータに複数の脆弱性

    バッファロー製無線 LAN ルータに複数の脆弱性

  8. クラウド労務管理「WelcomeHR」の個人データが閲覧可能な状態に、154,650 人分のダウンロード確認

    クラウド労務管理「WelcomeHR」の個人データが閲覧可能な状態に、154,650 人分のダウンロード確認

  9. ガートナー クラウドクッキング教室 ~ CCoE 構築の重要性

    ガートナー クラウドクッキング教室 ~ CCoE 構築の重要性

  10. Windows DNS の脆弱性情報が公開

    Windows DNS の脆弱性情報が公開

ランキングをもっと見る