日本レジストリサービスは2012年7月20日、オープンソースのDNSサーバーソフトである「NSD」(Name Server Daemon)にリモートからサービス妨害(DoS、Denial of Service)攻撃を受ける可能性がある危険な脆弱性が見つかったことをアナウンスし、運用者に対してバージョンアップや緊急パッチの適用などの措置を速やかに取るよう呼びかけた。

 アナウンスによれば、NSDのバージョン3.xには実装上の不具合があり、「特殊なDNSパケットを受け取るとnull pointer dereference(Nullポインタの参照外し)を引き起こし、サーバーの子プロセスが異常終了してしまう」という現象が発生するという。特殊なDNSパケットの内容などは具体的に明らかにされていないが、修正パッチ(後述)の内容を見るとDNSの拡張仕様である「EDNS0」まわりの処理が関係しているようである。

 なお、通常は子プロセスが異常終了しても親プロセスによって自動的にプロセスが再起動されるようになっているが、攻撃者がDNSサーバーに対して継続的にDNSパケットを送り付けることにより、事実上サーバーがダウンしたままでサービス提供できない状態を維持できてしまう。

 現状でこの脆弱性に対する一時的な回避策はなく、抜本的な解決策として、NSDの開発元であるオランダのNLnet Labsが7月19日に緊急リリースした「NSD 3.2.12」へバージョンアップするか、同組織がリリースした修正パッチを適用するか、あるいは各OSディストリビューションベンダーから提供されるアップデートを適用する必要がある。

 NSDは、権威DNSサーバー(自分が管理するゾーンに関する問い合わせに回答する役割を持ったDNSサーバーのこと)に特化したDNSサーバーソフト。パフォーマンスの高さやシンプルな構造であること(に基づく信頼性の高さ)などが評価されており、DNSの仕組みの根幹を成す「ルートDNSサーバー」(ルートサーバー)の一部でも採用されている。