AAIニュース
最新ニュースAI日報Hacker日報週報動画AIツールトレンド企業
AAIニュース

世界中のAI最新情報を日本語で。毎時自動収集・翻訳・要約。

コンテンツ

最新ニュースAI日報週報

分析

トレンド企業動画

サイト

についてRSSお問い合わせ
© 2026 ainew.jp — All rights reserved.特定商取引法に基づく表記
ニュース一覧元記事を開く
Cloudflare Blog·2026年5月7日 02:00·約16分

DNSSEC の誤り:.de TLD 障害への対応

#DNSSEC#インターネットインフラ#セキュリティプロトコル#Cloudflare
TL;DR

Cloudflare は、ドイツの .de ドメインレジストリである DENIC の DNSSEC 署名誤りにより発生した大規模な DNS 障害に対し、検証ロジックの一時的変更という緊急対応を行い、サービス継続性を確保した。

AI深層分析2026年5月7日 04:04
3
注目/ 5段階
深度40%
4
関連度30%
2
実用性20%
5
革新性10%
1

キーポイント

1

DNSSEC 署名エラーによる大規模障害の発生

2026 年 5 月 5 日、.de TLD のレジストリ運営者 DENIC が誤った DNSSEC 署名を公開したため、検証を行うすべての DNS リゾルバーが応答を拒否(SERVFAIL)し、数百万のドメインが利用不能となった。

2

DNSSEC の信頼チェーンと脆弱性

DNSSEC は完全性を保証する仕組みだが、ルートから TLD までの信頼チェーンのどこかで署名に誤りがあると、その下のすべてのドメインが検証失敗となり、キャッシュされた正解データでも無効化されるという特性がある。

3

Cloudflare の緊急緩和策と対応

Cloudflare は 1.1.1.1 を含むパブリックリゾルバーで、一時的に .de ドメインの DNSSEC 検証を無効化または迂回する措置を講じ、DENIC が問題を修正するまでの間、ユーザーへの接続性を維持した。

4

KSK と ZSK の鍵回転の違い

記事は、ゾーンレコードに署名する ZSK と、親ゾーンの DS レコードで参照される KSK の違いを解説し、TLD レベルでの KSK 関連設定の誤りがなぜ全体に影響を与えるかを技術的に説明している。

5

DNSKEY ロテーション中の鍵不一致による SERVFAIL

鍵のローテーション中に署名に失敗したり、新しいキーが完全に配布される前に署名が行われたりすると、リゾルバはレコードを検証できず強制的に SERVFAIL を返す。

6

キャッシュ期限切れによる影響の拡大

初期のスパイク後、キャッシュされたレコードが期限切れを迎えて再取得を試みた際に壊れた署名を受け取り、SERVFAIL 率が3時間にわたって上昇した。

7

Serve Stale によるユーザー影響の緩和

1.1.1.1 はキャッシュ期限切れ後も直ちに破棄せず古いレコードを返す「Serve Stale」機能により、NOERROR レートが比較的安定し、実質的なユーザーへの影響を抑えた。

影響分析・編集コメントを表示

影響分析

この記事は、インターネットの根幹を成す DNSSEC プロトコルの実装上の脆弱性と、レジストリ運営側の人的・技術的ミスの深刻さを浮き彫りにしています。Cloudflare のような大規模プロバイダーが、セキュリティ要件と可用性のバランスを取るための緊急対応(ワークアラウンド)を実行した事例は、インフラ運用におけるリスク管理の重要性を再認識させるものです。

編集コメント

DNSSEC の仕様上、誤った署名は「安全のために無条件に拒絶」されるという設計思想が、今回の大規模障害の根本原因となりました。運用側にとっては、セキュリティと可用性のトレードオフをどう判断するかが問われる重要な教訓です。

2026 年 5 月 5 日、日本時間午後 7 時 30 分頃(UTC)、ドイツの国別コードトップレベルドメイン(TLD)である .de のレジストリ運営者である DENIC は、.de ゾーンに対して誤った DNSSEC 署名の公開を開始しました。DNSSEC 仕様により、これらの署名を受信する検証型 DNS リゾルバはすべて、署名を拒否し、クライアント(Cloudflare が運用するパブリック DNS リゾルバである 1.1.1.1 を含む)に対して SERVFAIL を返すことが義務付けられています。

ドイツの国別コードトップレベルドメインである .de は、インターネット上で最も規模が大きいドメインの一つです。Cloudflare Radar において、この TLD は常に世界中で最も頻繁にクエリされる TLD の上位にランクインしています。DNS 階層のこのレベルでの障害は、数百万ものドメインへの到達不能を引き起こす可能性があります。

本稿では、私たちが観測した事象、これらの出来事がもたらした影響、そして DENIC が問題を解決する間に私たちが適用した一時的な緩和策について順を追って解説します。

image
image

DNSSEC の仕組み

DNSSEC(Domain Name System Security Extensions)は、DNS に暗号化認証を追加します。ゾーンが DNSSEC で署名されると、各レコードセットにはデジタル署名である RRSIG レコードが付随し、リゾルバがレコードが改ざんされていないことを検証できるようになります。DNS over TLS (DoT) や DNS over HTTPs (DoH) などの暗号化 DNS プロトコルとは異なり、DNSSEC はプライバシーではなく完全性に関するものです。レコードは可視化されますが、その真正性を証明することができます。

DNSSEC の独自性は、署名が保護するレコードと一緒に伝播することにあります。これにより、レスポンスが通過したキャッシュやホップの数に関わらず、完全性を検証できます。キャッシュされたレコードも新鮮なレコードと同様に検証可能です。

DNSSEC は信頼の連鎖に基づいて構築されています。リゾルバにハードコードされた信頼アンカーを持つルートゾーンから始まり、各ゾーンは Delegation Signer (DS) レコードを介して子ゾーンへの信頼を委譲します。親ゾーンの DS レコードには、子ゾーンの公開鍵の暗号化ハッシュが含まれています。リゾルバが example.de を検証する際、連鎖を検証します:ルートが .de を信頼し、.de が example.de を信頼します。この連鎖のどこかで断絶すると、その下のすべてのものに対する検証が失敗するため、.de のような TLD での設定ミスは、その下にあるすべてのドメインに影響を及ぼすことになります。

ゾーンは通常、2 種類のキーを使用します。1 つはゾーンのレコード署名に使用される Zone Signing Key (ZSK) で、もう 1 つは ZSK 自体の署名に使用される Key Signing Key (KSK) です。KSK の公開鍵は、親ゾーンの DS レコードが指し示すものであり、信頼チェーンのアンカーとなります。ZSK のローテーションは比較的単純で、新しいキーを生成し、ゾーンのレコードを再署名してキャッシュの有効期限切れを待つだけです。一方、KSK のローテーションはより複雑です。親側の DS レコードも更新する必要があり、レジストラやレジストリとの調整が求められることが多いためです。

image
image

キーローテーション中、古いキーが段階的に廃止され、新しいキーが段階的に導入される重要な期間が存在します。もしゾーンで公開されている署名が、リゾルバがゾーンの公開 DNSKEY レコードに対して検証できないキーによって作成された場合(署名ステップの失敗、タイミングの誤り、あるいは新キーの完全な配布がまだ完了していないことが原因であっても)、リゾルバは応答を拒否し、SERVFAIL を返すしかありません。

私たちが観測した現象

2026 年 5 月 5 日、UTC 時刻 19:30 頃、.de TLD の運用者である DENIC は、.de ゾーンに対して誤った DNSSEC 署名の公開を開始しました。これらのレコードを受信する検証リゾルバは、DNSSEC 仕様によりこれらを拒否し、SERVFAIL を返すことが義務付けられています。1.1.1.1 も例外ではありませんでした。

以下のグラフは、インシデント発生中の .de クエリに対して 1.1.1.1 が返した応答コードを示しています。

image
image

UTC 19:30 に SERVFAIL(サービス失敗)が急増した後、キャッシュされたレコードが徐々に期限切れを迎えるにつれて、その後の 3 時間にわたって緩やかに上昇しました。各ドメインのキャッシュされたレコードが期限切れになると、リゾルバは DENIC から新しいコピーを要求しますが、そこで壊れた署名を受け取り、失敗し始めます。

また、クエリボリュームの大幅な増加も確認できます。これは DNS インシデント時に典型的な現象で、クライアントが失敗したクエリを通常 3 回以上再試行するため、生データの数値が膨れ上がります。SERVFAIL の割合は実際のユーザーへの影響よりも深刻に見えますが、これらのクエリの多くは同じユーザーが同じドメインを再試行しているものです。

image
image

驚くべきことに、NOERROR(正常応答)の割合はインシデント全体を通じて比較的安定していました。これは「serve stale(古くなったレコードの提供)」の働きによるものです。これについては次のセクションで詳しく説明します。

Serve stale

再帰型リゾルバーは、権威ネームサーバーから受け取ったレコードを、各レコードの TTL(Time-to-Live)期間中にキャッシュします。レコードがキャッシュされている間、リゾルバーは権威ネームサーバーに再度問い合わせることなく、そのレコードを直接返却します。TTL が期限切れになると、リゾルバーは新しいコピーを取得して再キャッシュします。

障害発生中、新たに要求されたレコードは SERVFAIL として解決されました。DNSSEC の署名が破損しており、リゾルバーはこれを正しく拒絶しました。しかし、多くの .de レコードはインシデント開始前にキャッシュされたまま残っていました。1.1.1.1 はそれらを即座に破棄してユーザーに SERVFAIL を返すのではなく、TTL 期限を過ぎても引き続きこれらのレコードを提供し続けました。これは「stale serving(古くなったデータの提供)」と呼ばれます。

1.1.1.1 は RFC 8767 を実装しており、この動作を形式化しています。上位リゾルバーでの解決が失敗した場合、リゾルバーはエラーを返すのではなく、期限切れのキャッシュレコードの提供を継続できます。これにより、上位障害の影響を大幅に緩和し、オペレーターが対応する時間を確保することができます。

以下のグラフには、stale serving による応答を除いた .de クエリの応答コードが示されています。stale serving の応答を除くと、19:30 以降 NOERROR レートは着実に低下します。これは、レコードがまだキャッシュされていたため、ユーザーが正常な回答を受け取れたクエリを表しています。

image
image

私たちの対策

問題は主に私たちの制御範囲外であり、"serve stale(古いキャッシュの提供)" がその役割を果たしていましたが、依然として多くのユーザーに実害がありました。幸いにも、状況を改善するために講じられるべき措置がいくつかありました。

ネガティブ・トラスト・アンカー (Negative Trust Anchors)

RFC 7646 は、ネガティブ・トラスト・アンカー(NTA)の概念を定義しています。通常の DNSSEC 運用では、検証レスォルバーは信頼アンカーのセットを維持します。これは信頼チェーンのルートにある公開鍵です。DNSSEC で署名された各 DNS ゾーンには信頼アンカーが存在し、すべての子ゾーンはその上に独自の信頼アンカーを構築します。チェーン全体を結びつける暗号化署名が破綻した場合、応答は拒否され、SERVFAIL(サービス失敗)が発生します。NTA は明示的な例外です。これはレスォルバーに対して、特定のゾーンを未署名のものとして扱うよう指示し、そのゾーン内の名前に対する検証をバイパスさせます。

image
image

NTA(Non-Temporal Allowlist:非一時的許可リスト)はまさにこのような事態のために存在します。TLD 運用者が破損した署名を公開した場合、DNSSEC 検証レスルバは、その TLD に属するすべてのドメインに対して SERVFAIL を返すことを余儀なくされます。これは、それらのドメイン自体に何らかの問題があるからではなく、親ゾーンの設定ミスが原因です。そのような状況で引き続き SERVFAIL を返し続けることは、セキュリティ上の価値を提供しません:この障害はすでに知られており、公開されており、修正も進んでいるからです。RFC 7646 は、NTA の主要なユースケースとして TLD の設定ミスを明確に挙げています。

私たちが実際に展開したもの

1.1.1.1 については、Big Pineapple と呼ぶ独自のレスルバを保有しており、これは Families や Gateway DNS、DNS Firewall などでも 1.1.1.1 を支えています。現時点では、ネイティブな NTA メカニズムを実装していません。代わりに、既存のオーバーライドルールメカニズムを使用して .de を「安全でないゾーン」としてマークし、すべての .de クエリが DNSSEC が有効化されていないかのように解決されるようにしています。これは NTA と同等の機能ですが、どの RFC にも正式に定義されたものではありません。

DNSSEC のバイパス決定は、意図的なトレードオフです。DNSSEC 検証を行わない場合、インシデントの期間中、.de ドメインは本格的な攻撃に対して脆弱になります。このようなインシデントにおいては、署名失敗が広範囲に及び、公的に確認されており、インターネット上のすべての検証レスバーに均等に影響を及ぼしているため、このリスクは許容できると判断しました。社内インシデントルームでの見解として、「現在、1.1.1.1 を利用して .de 名前の解決を試みるユーザーで、検証されていない応答よりも SERVFAIL(サービス失敗)を好む人はいない」という言葉がありました。

対策の展開は UTC 22:17 に完了し、これにより 1.1.1.1 の影響が終了しました。この情報は DNS-OARC Mattermost において他の DNS オペレーターとも共有されました。

Origin resolution mitigations

インターネットユーザー全員が当社の 1.1.1.1 リゾルバーにアクセスできる一方で、CDN プラットフォームサービスを利用する顧客に対しては特に責任があります。.de のオリジン名を持つ顧客もこのアウトエージの影響を受けました。

Cloudflare は、一般公開されている 1.1.1.1 サービスとは別に、オリジン解決用の内部リゾルバーを運用しています。影響を緩和するため、内部リゾルバーサービスにおいても .de に対して同様の NTA(Not Trusted Authority:信頼できない権威)を適用し、影響を受けた顧客のオリジン接続性を回復させました。

Extended DNS Errors

キャッシュから提供できないクエリに対しては、1.1.1.1 が SERVFAIL 応答を返していました。各 SERVFAIL には RFC 8914 で定義された拡張 DNS エラー (EDE) コードが含まれており、これによりクライアントは問題の詳細をより詳しく知ることができます。

一部のレスォルバは EDE 6(DNSSEC Bogus)を返しており、破損した署名を直接指し示す説明的メッセージが付随していました。これは正しい動作です:

EDE: 6 (DNSSEC Bogus): example.de/nsec3 の RRSIG で不正な形式の署名が見つかりました (keytag=33834)

一方、1.1.1.1 は EDE 22(No Reachable Authority)を返しており、これは表面上はアップストリームネームサーバーとの接続問題を示唆するものであり、DNSSEC 検証の失敗とは異なります。

その原因は、信頼チェーン検証器から DNSSEC EDE コードを上流へ伝播させる処理におけるバグです。検証器が不正な署名を検出すると DNSSEC Bogus の EDE コードを作成しますが、このコードは応答に挿入されません。代わりに、レスォルバの外部層が再帰解決の問題を検出し、エラーコードがないため「No Reachable Authority」という報告にフォールバックしてしまいます。これにより、根本的な DNSSEC 原因が隠されてしまいます。

1.1.1.1 のユーザーにとってこれが役立たないことを認識しており、DNSSEC エラーを表面化させるように応答を修正する予定です。

これは DNSSEC という技術の失敗でしょうか?

DNS は、インターネット通信のほとんどにおいてリクエストチェーンの重要な一部です。今回の障害と適用された緩和策から、DNSSEC が技術として失敗したという結論を導き出すのは容易かもしれません。しかし、誤設定されたあらゆる技術は、それを利用するユーザーにとって機能不全に陥るリスクがあります。海底でシャークが噛みつくように放置された重要な光ファイバーケーブルが存在しても、それが今日のインターネット通信において海底ケーブルが果たす重要な役割を無効化するものではありません。それは単に、私たちが時としてそれを正確に保護しきれていなかったことを浮き彫りにしているだけです。ここでも同じことが言えます。DNSSEC は、悪意のある行為者による改ざんなく DNS 応答を信頼できることを保証する上で決定的な役割を果たしています。

#HugOps

誰も深刻なインシデントを起こしたくはありません。残念ながら、大規模に重要なインフラを運用しているすべての組織でこうした出来事は起こり得ます。それが起きたとき、DNS コミュニティは互いに支え合う傾向があります。

このようなインシデントは、オペレーター間の関係がなぜ重要なのかを浮き彫りにします。DNS は分散型システムであり、単一の組織がすべてを制御しているわけではなく、その信頼性の高い運用は、レジストリ、レスォルバー(resolver)オペレーター、およびより広いコミュニティの間における相互の信頼とオープンなコミュニケーションに依存しています。DNS-OARC などのフォーラムはまさにこれを提供しており、問題が発生した際にオペレーターが組織の境界を越えて迅速に調整できる共有メールリストやチャットルームが存在します。

DENIC は、今回のインシデントに関する短いブログ記事を公開し、「この障害は、定期的なスケジュールに基づくキーのローテーションに起因しています。このプロセス中に、検証不可能な署名が生成され配布されました。予防措置として、正確な技術的原因が特定されるまで、今後のローテーションは停止されています」と述べています。

彼ら自身の分析結果が準備され次第、さらに詳しい情報が得られることでしょう。

このインシデントから得られた教訓

今回のインシデントは、DNS 階層構造における構造的な現実を浮き彫りにしました。つまり、TLD レベルのレジストリが障害を起こすと、その TLD に属するすべてのドメインが同時に影響を受けるのです。これはホスティング先や使用するレスォルバーに関係なく同様です。この事象は DNSSEC 固有のものではなく、TLD のネームサーバーへの到達性が失われた場合にも同様のことが起こります。グローバルな DNS を機能させている階層構造こそが、上位での障害が下位へ伝播する原因ともなっています。

これに対する単純な解決策はありません。業界ができることは、発生時に迅速かつ一貫した対応を行うことです。今回のインシデントでは、インターネット上のレスォルバー運用者が独立して 1 時間以内にネガティブ・トラスト・アンカー(Negative Trust Anchors)を適用し、DENIC がゾーンの問題修正に取り組んでいる間も解決を復旧させました。運用プラクティス、DNS-OARC などの業界向けコミュニケーションチャネル、serve stale といった機能は、根本的な依存関係を解消することはできなくても、影響を軽減する役割を果たします。

また、私たち自身についても改善すべき点が見えてきました。今後は EDE エラー(Extended DNS Errors)の対応を強化し、DNSSEC のエラーをより明確に表面化させる取り組みを進めていきます。

DENIC のインシデント後の報告書を待ち望んでおり、一貫して示された透明性に対して感謝申し上げます。

DNSSEC の仕組みについてさらに詳しく知りたい場合は、当社の「DNSSEC はどのように機能するのか?」というページをご覧ください。また、リアルタイムの DNS 動向や TLD データは、Cloudflare Radar で常時フォロー可能です。

原文を表示

On May 5, 2026, at roughly 19:30 UTC, DENIC, the registry operator for the .de country-code top-level domain (TLD), started publishing incorrect DNSSEC signatures for the .de zone. Any validating DNS resolver receiving these signatures was required by the DNSSEC specification to reject them and return SERVFAIL to clients, including 1.1.1.1, the public DNS resolver operated by Cloudflare.

The country-code top-level domain for Germany, .de, is one of the largest on the Internet. On Cloudflare Radar, it consistently ranks among the most broadly queried TLDs globally. An outage at this level of the DNS hierarchy has the potential to make millions of domains unreachable.

In this post, we’ll walk through what we saw, the impact of these events, and how we applied temporary mitigations while DENIC resolved the issue.

imageimage

How DNSSEC works

DNSSEC (Domain Name System Security Extensions) adds cryptographic authentication to DNS. When a zone is signed with DNSSEC, each set of records is accompanied by a digital signature known as an RRSIG record that lets a resolver verify the records haven’t been tampered with. Unlike encrypted DNS protocols, such as DNS over TLS (DoT) and DNS over HTTPs (DoH), DNSSEC is about integrity, not privacy. The records are visible, but their authenticity can be proven.

What makes DNSSEC unique is that the signatures travel together with the records they protect. This means integrity can be verified regardless of how many caches or hops a response has passed through. A cached record is just as verifiable as a fresh one.

DNSSEC is built on a chain of trust. Starting at the root zone, whose trust anchor is hard-coded into the resolvers, each zone delegates trust to child zones via Delegation Signer (DS) records. A DS record in the parent zone contains a cryptographic hash of a public key in the child zone. When a resolver validates example.de it verifies the chain: root trusts .de, .de trusts example.de. A break anywhere in that chain causes validation to fail for everything below it, which is why a misconfiguration at a TLD like .de affects every domain under it.

Zones typically use two types of keys: a Zone Signing Key (ZSK), used to sign the zone’s records, and a Key Signing Key (KSK), used to sign the ZSK itself. The KSK’s public key is what the parent zone’s DS record points to, anchoring the chain of trust. Rotating a ZSK is relatively straightforward: generate a new key, re-sign the zone’s records, and wait for caches to expire. Rotating a KSK is more involved, because the parent’s DS record must also be updated, often requiring coordination with a registrar or registry.

imageimage

During a key rotation, there is a critical window where the old key is being phased out and the new one phased in. If the signatures published in the zone are made with a key that resolvers cannot verify against the zone’s published DNSKEY records, whether because the signing step failed, the timing was wrong, or the new key wasn’t fully distributed yet, resolvers have no choice but to reject the responses and return SERVFAIL.

What we saw

On May 5, 2026, at roughly 19:30 UTC, DENIC, the operator for the .de TLD, started publishing incorrect DNSSEC signatures for the .de zone. Any validating resolver receiving these records was required by the DNSSEC specification to reject them and return SERVFAIL. 1.1.1.1 was no exception.

The graph below shows the response codes 1.1.1.1 returned for .de queries during the incident.

imageimage

After the immediate spike in SERVFAILs at 19:30 UTC, it climbed steadily over the following three hours as cached records slowly started expiring. As each domain's cached records expired and resolvers went back to DENIC for fresh copies, they got back broken signatures and started failing.

Also visible is a large increase in query volume. This is typical during DNS incidents, as clients retry failed queries, often three or more times, inflating the raw numbers. The SERVFAIL rate looks more alarming than the actual user impact, as many of those queries represent the same user retrying the same domain.

imageimage

What might be surprising is that the NOERROR rate stayed relatively stable throughout the incident. That's “serve stale” at work, which we'll cover in the next section.

Serve stale

Recursive resolvers cache the records they receive from authoritative nameservers for the duration of each record's TTL (Time-to-Live). While a record is cached, the resolver serves it directly without going back to the authoritative nameserver. When the TTL expires, the resolver fetches a fresh copy and re-caches it.

During the outage, freshly requested records ended up resolving to SERVFAIL. The DNSSEC signatures were broken and the resolver correctly rejected them. But many .de records were still sitting in cache from before the incident began. Rather than immediately discarding those and returning SERVFAIL to users, 1.1.1.1 continued serving them past their TTL. This is called “serving stale.”

1.1.1.1 implements RFC 8767, which formalizes this behavior. When upstream resolution fails, a resolver may continue serving expired cached records rather than returning an error. This significantly cushions the impact of an upstream outage, buying time for operators to respond.

The result is visible in the graph below, which shows response codes for .de queries during the incident excluding the stale-served responses. Without stale-served responses, the NOERROR rate drops steadily from 19:30 onward. These represent queries that users received good answers for only because their record was still in cache.

imageimage

Our mitigation

While the issue was largely out of our own control, and serve stale was doing its job, there was still a legitimate impact for a lot of users. Luckily, there were some actions we were able to take to improve the situation.

Negative Trust Anchors

RFC 7646 defines the concept of a Negative Trust Anchor (NTA). In normal DNSSEC operation, a validating resolver maintains a set of trust anchors: public keys at the root of the chain of trust. Each DNS zone signed with DNSSEC has a trust anchor, and every child zone builds its own trust anchor upon it. When the cryptographic signatures linking the chain together are broken, responses will be rejected and result in SERVFAIL. An NTA is an explicit exception. It tells the resolver to treat a specific zone as if it were unsigned, bypassing validation for names under that zone.

imageimage

NTAs exist precisely for these types of incidents. When a TLD operator publishes broken signatures, every DNSSEC-validating resolver is forced to return SERVFAIL for every domain under that TLD. Not because of anything wrong with those domains themselves, but because their parent zone is misconfigured. Continuing to return SERVFAIL in that situation provides no security value: the failure is already known, public, and being fixed. RFC 7646 explicitly names TLD misconfiguration as the primary use case for NTAs.

What we actually deployed

For 1.1.1.1 we have our own resolver referred to as Big Pineapple, which also powers 1.1.1.1 for Families, Gateway DNS, DNS Firewall, and more. At this time, we have not implemented a native NTA mechanism. Instead, we used an existing override rule mechanism to mark .de as an insecure zone, which causes all .de queries to be resolved as if they don’t have DNSSEC enabled. This is functionality equivalent to an NTA, though it is not formally defined in any RFC.

The decision to bypass DNSSEC is a deliberate tradeoff. Without DNSSEC validation, .de domains become vulnerable to genuine attacks for the duration of the incident. During incidents like this, we weighed this as acceptable because the signing failure was widespread, publicly confirmed, and affected every validating resolver on the Internet equally. As it was put in our internal incident room: “There is no user of 1.1.1.1 resolving a .de name right now who would prefer a SERVFAIL over an unvalidated response.”

We rolled out our mitigation at 22:17 UTC, which marked the end of impact for 1.1.1.1. We communicated this with fellow DNS operators in the DNS-OARC Mattermost.

Origin resolution mitigations

While all Internet users can access our 1.1.1.1 resolver, we have a particular responsibility to customers using our CDN platform services. Those with .de origin names were also affected by this outage.

Cloudflare operates a separate internal resolver for origin resolution, distinct from our publicly available 1.1.1.1 service. To mitigate impact we applied a similar NTA for .de on the internal resolver service, restoring origin connectivity for affected customers.

Extended DNS Errors

Before our mitigation, queries that couldn't be served from cache received a SERVFAIL response from 1.1.1.1. Each SERVFAIL included an Extended DNS Error (EDE) code, defined in RFC 8914, which gives clients more detail about what went wrong.

Some resolvers returned EDE 6 (DNSSEC Bogus) with a descriptive message pointing directly at the broken signature. This is the correct behavior:

EDE: 6 (DNSSEC Bogus): RRSIG with malformed signature found for example.de/nsec3 (keytag=33834)

1.1.1.1, on the other hand, returned EDE 22 (No Reachable Authority), which on the surface suggests a connectivity problem with the upstream nameservers rather than a DNSSEC validation failure.

The cause is a bug in how we propagate DNSSEC EDE codes up from our trust chain verifier. When the verifier detects a bogus signature it creates the DNSSEC Bogus EDE code, but this is never inserted into the response. Instead, the outer layer of the resolver sees a problem with recursive resolution with no error code and falls back to reporting “No Reachable Authority.” This obscures the underlying DNSSEC cause.

We're aware that this isn't helpful for 1.1.1.1 users and will be fixing our responses to surface the DNSSEC errors.

Is this a failure of DNSSEC as a technology?

DNS is a critical part of the request chain for most Internet communication. It would be easy to come to the conclusion that this outage and the mitigations applied means DNSSEC has failed as a technology. However, any technology that is misconfigured will risk breaking for users that rely on it. Leaving critical fiber cables exposed on the seabed for sharks to chew on does not invalidate the important role underwater cables pose in today's Internet communications. It only highlights that we’ve sometimes failed to accurately protect it. The same applies here. DNSSEC serves a critical role in ensuring that we can rely on the DNS answers without tampering by malicious actors.

#HugOps

No one likes to have serious incidents. These things, unfortunately, happen to everyone who operates critical infrastructure at scale. When they do, the DNS community tends to show up for each other.

Incidents like this also highlight why relationships between operators matter. DNS is a decentralized system, no single organization controls all of it, and keeping it running reliably depends on mutual trust and open lines of communication between registries, resolver operators, and the broader community. Forums like DNS-OARC provide exactly this: shared mailing lists and chat rooms where operators can coordinate quickly across organizational boundaries when something goes wrong.

DENIC has published a short blog post about the incident where they state: “The outage is linked to a routine, scheduled key rollover. During this process, non-validatable signatures were generated and distributed. As a precautionary measure, future rollovers have been suspended until the exact technical causes have been identified.”

 We're sure we’ll hear more when their own analysis is ready.

Takeaways from this incident

This incident highlights a structural reality of the DNS hierarchy: when a registry at the TLD level fails, every domain under that TLD is affected simultaneously, regardless of where it's hosted or which resolver is used. This isn't unique to DNSSEC; the same is true if a TLD’s nameservers become unreachable. The hierarchy that makes the global DNS work is also what makes failures at the top propagate downward.

There is no simple fix for this. What the industry can do is respond quickly and consistently when it happens. In this incident, resolver operators across the Internet independently applied Negative Trust Anchors within an hour, restoring resolution while DENIC worked to fix the zone. Operational practices, industry communication channels like DNS-OARC, and features like serve stale all reduce the impact, even if they can’t eliminate the underlying dependency.

We also came away with some points to improve for ourselves. We will be working on our EDE errors to better surface DNSSEC errors.

We look forward to DENIC’s post-incident report and appreciate the transparency they showed throughout.

If you want to learn more about how DNSSEC works, visit our page How does DNSSEC work? And you can always follow real-time DNS trends and TLD data on Cloudflare Radar.

この記事をシェア

関連記事

Cloudflare Blog2026年6月25日 22:00

Cloudflare Workflows のサガロールバック機能の構築方法について

Cloudflare Blog重要度42026年6月24日 15:00

Cloudflare、すべてのアプリエコシステムでOAuthを解放

Cloudflare Blog重要度52026年6月24日 03:25

ポスト量子暗号化の行政命令は重要なマイルストーン、今こそ実務へ

今日のまとめ

AI日報で今日の重要ニュースをまとめ読み

ニュース一覧に戻る元記事を読む