BIND Ver 9.18 の深刻な脆弱性 CVE-2022-0635 などにパッチが適用

High-Severity Vulnerabilities Patched in BIND Server

2022/03/18 SecurityWeek — ISC のアドバイザリーによると、今回のアップデートで合計4件のセキュリティ問題が解決されたが、そのうち2件は BIND Ver 9.18 に影響を与え、深刻度を示す CVSS 値は 7.0 である。1つ目の脆弱性 CVE-2022-0635 は、DNAME insist with synth-from-dnssec enabled だと説明されている。BIND 9.18 は、synth-from-dnssec (RFC 8198 – DNSSEC 検証済みキャッシュの積極的な使用) をリファクタリングし、dnssec-validating resolvers に対して自動的に有効にする。

今回のアップデートで解決したバグは、「この機能を有効にしたサーバーに対して、特定のクエリを繰り返して実行すると、query.c:query_dnameのINSIST に失敗し、named に想定外の終了が生じる」ものだと述べられている。

一連の特定のクエリを使用すると、アサーション・チェックに失敗し、named プロセスが終了されてしまう。dnssec-validation と synth-from-dnssec の両方が有効な、Ver 9.18.0 を実行している BIND リゾルバのみが影響を受ける。

この脆弱性は、synth-from-dnssec を無効にすることで回避できるが、この機能は DNSSEC で署名されたゾーンを、擬似ランダム・サブドメイン攻撃から保護するためのものであるため、一時的な回避策にすぎない。

2つ目の脆弱性 CVE-2022-0667 は、resume_dslookup() 関数に関連しており、BIND プロセスを終了させる可能性がある。ISC は、「BIND は、転送する必要のある DS レコードのリクエストを処理している間に、 この処理が完了するか、backstop lifetime timer がタイムアウトするまで待つようにデザインされている。このようなタイムアウトの結果として resume_dslookup() 関数が呼ばれたとき、この関数はフェッチのシャットダウンの有無をテストしていない」とは説明している。

ISC が解決した別の問題は、BIND の Ver 9.11.0〜9.11.36/9.12.0〜9.16.26/9.17.0〜9.18.0 に影響するものだ。ただし、それ以前のバージョンも、影響を受ける可能性がある。

脆弱性 CVE-2021-25220 (CVSS 6.2) は、フォワーダーの使用時に発生する。ISC は、「これらのフォワーダーにより提供される偽の NS レコード、および、それらを介して提供された偽の NS レコードが、何らかの理由で再帰処理する必要がある場合にキャッシュされ、named により使用され、誤った答えを取得して受け渡す可能性がある」と説明している。

つまり、不正なレコードがキャッシュを汚染し、間違ったサーバーに問い合わせが行われることになるかもしれない。したがって、クライアントは誤った情報を受け取る可能性がある。転送や再帰の可能性を排除することで、このバグを防ぐことができるかもしれない。

ISC は、これらの脆弱性を標的とした、積極的な悪用は認識していない。米国の CISA は、ユーザーと管理者が ISC の勧告を確認し、可能な限り早急にバグに対処するよう呼びかけている。

ISC BIND の脆弱性に関する記事としては、2021年8月20日の「ISC BIND 9 に深刻な脆弱性 CVE-2021-25218 が発見された」があります。このときの脆弱性は、攻撃者が特定の状況下で悪用すると、BIND ネームサーバー (named) プロセスがクラッシュし、 DoS 状態が引き起こされるというものでした。なお、DNS に関連する記事としては、2022年3月15日の「Log4j 脆弱性を悪用する Linux ボットネット:DNS トンネリングを巧みに操る」や、2021年9月13日の「DNS 攻撃がもたらす深刻な被害:その理由と対策について」が興味深いです。よろしければ、DNS で検索も、ご利用ください。