---
title: "CVE-2025-40775とは｜BIND 9.20/9.21がTSIG不正でnamedを停止するDoSの対象版・修正版と確認手順"
url: "https://www.issoh.co.jp/tech/details/7003/"
published: 2025-05-28
updated: 2026-10-30
categories: ["脆弱性・インシデント"]
publisher: "株式会社一創"
---

# CVE-2025-40775とは｜BIND 9.20/9.21がTSIG不正でnamedを停止するDoSの対象版・修正版と確認手順

CVE-2025-40775は、ISC BIND 9の権威サーバーとフルリゾルバの両方に影響するサービス運用妨害（DoS）の脆弱性です。DNSメッセージに付いたトランザクション署名（TSIG）のアルゴリズム欄に不正な値が入っていると、BINDはアサーション失敗で`named`プロセスを即座に止めます。影響するのはBIND 9.20.0〜9.20.8と9.21.0〜9.21.7で、9.18系は脆弱なコードを含まず対象外です。TSIGを設定していないサーバーも対象になります。

この記事では、ISCとOSベンダーの一次情報をもとに、影響範囲・CVSS・ディストリビューションごとの状況・確認コマンド・更新方針を整理します。修正版9.20.9を当てた後に追うべき9.20.30までの修正リリースと、2026年10月にCISAのKEVへ追加された旧CVE-2015-5477も扱います（2026年10月30日時点）。

## まとめ：CVE-2025-40775の対策は修正版への更新のみ

- **何が起きるか**：不正なTSIGアルゴリズムを含むDNSメッセージ1つで`named`が停止する。認証は要らず、遠隔から到達できる。
- **影響版**：BIND 9.20.0〜9.20.8、9.21.0〜9.21.7。**9.18系は非該当**。権威サーバーもリゾルバも対象で、**TSIG未使用でも対象**。
- **修正版**：9.20.9／9.21.8（2025年5月21日公開）。回避策は無く、named.confのACLでも軽減できない。
- **深刻度**：ISCは「High」、CVSS 3.1は7.5。失われるのは可用性だけで、情報漏えいや改ざんは伴わない。
- **OSパッケージ**：RHEL 6〜10、Amazon Linux 1／2／2023、Debian 12、Ubuntu 24.04 LTSは影響なし。9.20系を載せたDebian 13とUbuntu 24.10／25.04は修正済み。
- **悪用状況**：ISCの内部テストで発見。KEVには2026年10月29日版でも未収録だが、GitHubにはクラッシュを再現するデモ環境が公開されている。
- **今の推奨版**：9.20.9で止めず、2026年10月21日公開の9.20.30まで上げる。9.20.11〜9.20.30の間に、通常版で42件のCVEが修正されている。

## CVE-2025-40775の仕組み：TSIGのアルゴリズム欄の不正値によるnamedの停止

TSIG（Transaction Signature）は[RFC 8945](https://www.rfc-editor.org/rfc/rfc8945.html)で定義された仕組みで、ゾーン転送・NOTIFY・Dynamic UpdateなどのDNS通信に共有鍵の署名を付けます。[ISCのアドバイザリ](https://kb.isc.org/docs/cve-2025-40775)によると、BINDはTSIGを含むメッセージを受け取ると必ず検査します。アルゴリズム欄に不正な値があると、エラーとして捨てずにアサーション（内部の整合性チェック）で異常終了します。

攻撃の前提条件は軽く、CVSSベクトル `AV:N/AC:L/PR:N/UI:N` のとおり、ネットワーク越しに権限も特別な条件も無しで成立します。攻撃者はTSIGの共有鍵を知らなくてよく、署名の正当性を確かめる前に落ちます。[JPRSの緊急情報](https://jprs.jp/tech/security/2025-05-22-bind9-vuln-tsig.html)は、外部から問い合わせパケットを1つ送るだけで`named`を異常終了させられること、TSIGを設定・利用していない場合も対象になることを明記しています。「TSIGを使っていないから関係ない」は誤判定です。

一方でC:N／I:N（機密性・完全性への影響なし）なので、起きるのはプロセスの停止に限られます。停止時にはassertion failureのメッセージがログに残ります。ただしアサーション失敗は他の不具合でも起きるため、ログは手掛かりにとどまり、該当するかは版番号と合わせて判断します。

弱点の分類は情報源で異なります。[NVD](https://nvd.nist.gov/vuln/detail/CVE-2025-40775)（CNAはISC）は未定義値の不適切な処理を示すCWE-232、[Red Hat](https://access.redhat.com/security/cve/CVE-2025-40775)はアサーション到達を示すCWE-617です。同じ現象を入力側と結果側から見た違いで、分類の読み方は[CVEとCWEの違いとCVSSの読み方](/tech/details/5119/)で整理しています。Red Hatは自社製品を「影響なし」としながら、上流の利用者向けの深刻度を「Important」としました。理由として、単一クエリの処理を誤らせるのではなく、TSIG検証経路で`named`デーモン全体が落ちる点を挙げています。

## 影響を受けるBINDのバージョンと修正版、主要ディストリビューションの状況

### ISCの系列ごとの影響版と修正版

ISCのアドバイザリ（文書版2.0）が示す対象版と修正版は次のとおりです。改訂履歴では、2025年5月14日に事前通知、5月19日に対象版の記載を明確化、5月21日に一般公開されています。

| 系列        | 影響を受ける版       | 修正版    | 2026年10月の位置づけ       |
| --------- | ------------- | ------ | ------------------- |
| BIND 9.18 | 非該当           | –      | EOL（最終版9.18.50）     |
| BIND 9.20 | 9.20.0〜9.20.8 | 9.20.9 | Current Stable（ESV） |
| BIND 9.21 | 9.21.0〜9.21.7 | 9.21.8 | Development         |

9.18.0より前の版は評価されていません。[ISCのダウンロードページ](https://www.isc.org/download/)は2026年10月30日時点で、9.20.30をCurrent Stable（ESV、2026年10月リリース、EOL予定2028年第2四半期）、9.18.50をEOL（2026年6月リリース）、9.21.27をDevelopmentと表示しています。本番の移行先は9.20系です。

### RHEL・Amazon Linux・Debian・Ubuntuのパッケージ版で見る対応状況

エンタープライズ系の多くは9.18系以前をベースにしているため「影響なし」です。9.20系を採用した比較的新しいリリースだけが修正を必要としました。[Red Hat](https://access.redhat.com/security/cve/CVE-2025-40775)、[Amazon Linux Security Center](https://explore.alas.aws.amazon.com/CVE-2025-40775.html)、[Debianのトラッカー](https://security-tracker.debian.org/tracker/CVE-2025-40775)、[Ubuntuのトラッカー](https://ubuntu.com/security/CVE-2025-40775)の記載は次のとおりです。

| OS                    | 状況   | パッケージ版・備考                   |
| --------------------- | ---- | --------------------------- |
| RHEL 6〜10             | 影響なし | bind・bind9.16・bind9.18とも    |
| Amazon Linux 1／2／2023 | 影響なし | bind                        |
| Debian 12 bookworm    | 影響なし | 1:9.18.49-1\~deb12u3        |
| Debian 13 trixie      | 修正済み | 1:9.20.30-1\~deb13u1        |
| Ubuntu 24.04 LTS      | 影響なし | 1:9.18.39-0ubuntu0.24.04.8  |
| Ubuntu 24.10          | 修正済み | 1:9.20.0-2ubuntu3.2（サポート終了） |
| Ubuntu 25.04          | 修正済み | 1:9.20.4-3ubuntu1.1（サポート終了） |

Ubuntu 25.04の修正版は、上流の版番号が9.20.4のままです。修正だけをバックポートしているため、版番号を上流の影響範囲と突き合わせると「影響あり」に見えます。ディストリビューションの判定は、トラッカーのパッケージ版で行ってください。Ubuntuのトラッカーには25.10と26.04 LTSの行がありませんが、[Launchpad](https://launchpad.net/ubuntu/+source/bind9)の公開版はそれぞれ9.20.11と9.20.24ベースで、いずれも上流の修正版9.20.9より新しい版です。

## named -vとパッケージ版で影響の有無を確かめる手順

まず実行ファイルの版を確認します。`named -v`が返すのはPATH上のバイナリの版です。サービスが別のパスのバイナリを使う環境では、systemdのユニットファイルにある実行パスと突き合わせてください。

```
named -v
# 出力例: BIND 9.20.8 (Stable Release) ...
# パッケージ管理下なら導入済みパッケージの版も見る
rpm -q bind bind9.18          # RHEL / AlmaLinux / Rocky / Amazon Linux
dpkg -l bind9 | grep '^ii'    # Debian / Ubuntu
```

ソースからビルドしたBINDやISC公式パッケージなら、上流の版番号で判定できます。版番号を文字列のまま比べると「9.20.10は9.20.9より小さい」と誤判定するため、`sort -V`で比較します。次のスクリプトは、`named -v`の出力やパッケージの版文字列からepoch（`1:`）と接尾辞を落として上流の版番号だけを取り出し、影響範囲と比べます。版番号として読めない入力は「判定不能」として終了コード2で止まり、安全側の判定に流れません。境界値の9.20.8／9.21.7は「影響範囲」、9.20.9／9.20.10／9.21.8は「影響範囲外」と出ます。

```
#!/bin/sh
# 上流の版番号で CVE-2025-40775 の該当範囲を判定する（ディストリ版はトラッカーで確認）
v="${1:-$(named -v | awk '{print $2}')}"
v="${v#*:}"    # 1:9.20.4-3ubuntu1.1 のようなepochを落とす
v="${v%%-*}"   # -3ubuntu1.1 や -S1 の接尾辞を落とす
if ! printf '%s\n' "$v" | grep -Eq '^9\.[0-9]+\.[0-9]+$'; then
  echo "$v: 版番号を読み取れないため判定不能"; exit 2
fi
in_range() { [ "$(printf '%s\n%s\n' "$2" "$1" | sort -V | head -n1)" = "$2" ] && [ "$(printf '%s\n%s\n' "$1" "$3" | sort -V | head -n1)" = "$1" ]; }
if in_range "$v" 9.20.0 9.20.8 || in_range "$v" 9.21.0 9.21.7; then
  echo "$v: CVE-2025-40775 の影響範囲"
else
  echo "$v: CVE-2025-40775 の影響範囲外"
fi
```

このスクリプトは上流の版番号だけを見るので、Ubuntu 25.04の修正済みパッケージの版文字列（1:9.20.4-3ubuntu1.1）を渡すと、上流版9.20.4として「影響範囲」と表示します。安全側に倒れる誤判定ですが、ディストリビューションのパッケージは前掲のトラッカーで最終判断してください。

稼働中のサーバーに外部から版を問い合わせるなら`dig @192.0.2.53 version.bind chaos txt`が使えます。ただし応答はnamed.confの`version`設定で任意の文字列に変えられるため、確定には使いません。digの読み方は[名前解決の仕組みとdig・nslookupでの確認方法](/tech/details/13556/)を参照してください。すでに停止が起きていないかは、ログのassertion failureを手掛かりに確かめます。

```
journalctl -u named --since "2025-05-21" | grep -i "assertion failure"
```

### 公開PoCで本番サーバーを「脆弱性テスト」しない理由

GitHubには、CVE-2025-40775を使うデモ環境のリポジトリ（AlexSvobo/nhi-zero-trust-bypass、2025年5月23日作成）が公開されています。READMEによると、Scapyで不正なTSIGを持つDNSパケットを作り、Docker上のBIND 9.20.8を停止させたうえで、DNS停止がシークレットのローテーション失敗につながる流れを示す構成です。

このパケットは「該当すれば`named`が落ちる」ものなので、本番の権威サーバーやリゾルバに投げれば、それ自体がサービス停止になります。該当確認は上の版確認とトラッカーで足ります。挙動を見たいときは、隔離した検証環境で9.20.8と修正版を並べて試すにとどめてください。外部の脆弱性スキャナーを使う場合も、多くは版の応答（`version.bind`）で判定しており、版を隠している環境では見逃しも誤検知も起きます。

## 回避策の無いCVE-2025-40775への対応：修正版への更新とACLの限界

ISCのアドバイザリは「既知の回避策なし（No workarounds known）」と明記しています。TSIG処理を止める設定は無く、修正版への更新が唯一の対応です。

- **ソースビルド／ISC公式パッケージ**：修正の下限は9.20.9、9.21系は9.21.8。9.21系は開発版なので本番には据えず、9.20系の最新版（2026年10月30日時点で9.20.30）へ上げる。
- **ディストリビューションのパッケージ**：OSのセキュリティ更新を適用し、トラッカーで「修正済み」とされた版以降か確認する。更新後は`named`（Debian系の旧名は`bind9`、RHELのchroot構成は`named-chroot`）を再起動する。

JPRSは、named.confのACLや設定オプションの変更では影響を回避・軽減できないとしています。`allow-query`で問い合わせ元を絞っても、メッセージを受け取ってTSIGを検査する段階で落ちるためです。効果があるのは、社内専用のリゾルバのように、ファイアウォールで外部からUDP・TCPの53番への到達そのものを遮断できる構成に限られます。権威サーバーやISPのリゾルバのように不特定多数から受ける構成では、更新以外に手はありません。`version`オプションで版を隠すことも、攻撃が版の開示に依存しないため緩和になりません。

国内では、[IPAの注意喚起「BIND 9の脆弱性対策について（CVE-2025-40775）」](https://www.ipa.go.jp/security/security-alert/2025/alert20250523.html)が2025年5月23日に公開され（5月30日に影響範囲の記載を更新）、DNSサーバー管理者にアップグレードを求めています。

## 9.20.9適用後も続くBIND 9.20系の修正リリースと追従の単位

9.20.9を当てても、9.20系の運用はそこで安全に固定されません。[ISCの脆弱性マトリクス](https://kb.isc.org/docs/aa-00913)を見ると、9.20.9の後も脆弱性修正を含むリリースが続いています。追う単位をCVE番号ではなく安定系列のマイナーリリースに置き、系列の最新版へ追従するほうが取りこぼしません。

| 修正版     | 公開日        | 修正したCVE              |
| ------- | ---------- | -------------------- |
| 9.20.9  | 2025-05-21 | CVE-2025-40775（本件）   |
| 9.20.11 | 2025-07-16 | CVE-2025-40777       |
| 9.20.15 | 2025-10-22 | CVE-2025-40778ほか計3件  |
| 9.20.18 | 2026-01-21 | CVE-2025-13878       |
| 9.20.21 | 2026-03-25 | CVE-2026-1519ほか計4件   |
| 9.20.23 | 2026-05-20 | CVE-2026-3039ほか計6件   |
| 9.20.26 | 2026-07-22 | CVE-2026-10723ほか計9件  |
| 9.20.29 | 2026-09-16 | CVE-2026-81736ほか計14件 |
| 9.20.30 | 2026-10-21 | CVE-2026-94300ほか計4件  |

同じ2025年7月16日の行には[CVE-2025-40776](https://kb.isc.org/docs/cve-2025-40776)もありますが、これはEDNS Client Subnetを使えるSubscription Edition（9.20.11-S1）だけの修正で、通常版のBINDは対象外です。マトリクスの行を数えるとき、-S1版だけの行を含めると件数が1件ずれます。通常版で9.20.11から9.20.30までに修正されたCVEは計42件です。

マトリクスには、9.20.14（2025年10月8日）、9.20.25（2026年7月20日）、9.20.28（2026年9月8日）がリリース撤回（Release Withdrawn）と記録されています。撤回版で止まっている環境は、その次の修正版まで上げます。

9.18系は2026年6月リリースの9.18.50が最終版で、ダウンロードページではEOL（2026年第2四半期）と表示されています。[ISCのアドバイザリ](https://kb.isc.org/docs/cve-2026-94300)は「現在サポートしている版にしか修正を出さない」と明記しており、9.18系に新しい修正版は出ません。ただしRHEL 9やDebian 12のように9.18系を載せるディストリビューションでは、OSのサポート期間中はベンダーが修正をバックポートします。ISC版を直接使っているなら9.20系へ、ディストリビューション版ならOSのサポート状況に従う、という分け方になります。

## 2026年10月の続報：9.20.30の4件修正と旧CVE-2015-5477のKEV登録

2026年10月に入ってから、9.20系の運用に関わる動きが2つありました。どちらもCVE-2025-40775そのものの評価は変えませんが、「9.20.9以降に上げたから終わり」という判断を見直す材料になります。

### 9.20.30で修正されたCVE-2026-94300ほか4件と9.18系への影響

ISCは2026年10月21日に9.20.30と9.21.27を公開し、脆弱性マトリクスではCVE-2026-19630、CVE-2026-94300、CVE-2026-96888、CVE-2026-97313の4件がこの版で修正されたと記録されています。

このうち[CVE-2026-94300](https://kb.isc.org/docs/cve-2026-94300)は、GSS-TSIGで署名されたUDPメッセージを再送されると`named`がメモリ破損を起こす問題です。ISCは、攻撃者が自分の管理するゾーンへの細工したクエリと組み合わせれば遠隔コード実行に至る可能性があるとし、CVSS 3.1を8.1としています。対象は9.11.0〜9.18.50、9.20.0〜9.20.29、9.21.0〜9.21.26で、CVE-2025-40775では対象外だった9.18系も含まれます。[Debianのトラッカー](https://security-tracker.debian.org/tracker/CVE-2026-94300)では、Debian 13がDSA-6576-1（1:9.20.30-1\~deb13u1）で修正済みになった一方、Debian 12の1:9.18.49-1\~deb12u3は2026年10月30日時点で「vulnerable」のままです。4件それぞれの対象版と確認コマンドは[BINDの脆弱性CVE-2026-94300ほか2026年10月の4件の対象版と更新手順](/tech/details/18989/)にまとめています。

### KEVへ2026年10月8日に追加されたTKEYのDoS、CVE-2015-5477

CISAの[Known Exploited Vulnerabilities Catalog](https://www.cisa.gov/known-exploited-vulnerabilities-catalog)には、2026年10月8日付でISC BINDのCVE-2015-5477が追加されました。対応期限（dueDate）は2026年10月11日で、追加から3日しかありません。期限の決まり方は[BOD 26-04とは？KEVの是正期限を4変数で決める仕組み](/tech/details/18233/)で解説しています。

[ISCのアドバイザリAA-01272](https://kb.isc.org/docs/aa-01272)によると、これはTKEYクエリの処理誤りでREQUIREアサーションに到達し、`named`が終了する2015年の脆弱性です。対象は9.1.0〜9.8.x、9.9.0〜9.9.7-P1、9.10.0〜9.10.2-P2で、修正版は9.9.7-P2と9.10.2-P3でした。ISCの深刻度はCritical、回避策は無く、第三者による概念実証コードの公開も当時から記載されています。

CVE-2025-40775と同じく「細工したパケット1つでアサーション失敗を起こし`named`を落とす」型ですが、対象版がまったく違います。9.20系や9.18系を使っている限りCVE-2015-5477は関係しません。問題になるのは、更新が止まった古いアプライアンスや組み込み機器に載ったBINDです。KEVの収録状況は、CISAが配布するJSONフィードで確かめられます。

```
curl -s https://www.cisa.gov/sites/default/files/feeds/known_exploited_vulnerabilities.json \
  | jq -r '.catalogVersion, (.vulnerabilities[] | select(.product == "BIND") | [.cveID, .dateAdded, .dueDate] | @tsv)'
```

2026.10.29版のカタログでこの抽出をすると、BINDの行はCVE-2015-5477の1件だけで、CVE-2025-40775は収録されていません。一方、悪用の起きやすさを示す[EPSS](https://www.first.org/epss/)では、CVE-2025-40775は2026年10月29日時点で0.153（パーセンタイル96.8%）と、全CVEの上位3%台に入ります。KEV未収録は更新を後回しにしてよい理由になりません。

### 続報を踏まえた環境別の更新判断：ISC版・ディストリ版・旧版

- **ISC版の9.20系を直接使っている**：9.20.30へ上げる。9.20.9〜9.20.29のどれでもCVE-2025-40775は直っているが、10月の4件の対象版に入る。4件は発動する設定条件がそれぞれ違うため、自環境に当たるかは各アドバイザリで確かめる。
- **ISC版の9.18系を使っている**：9.18.50はEOLで、CVE-2026-94300の修正は出ない。9.20.30へ移行する。
- **ディストリビューションのパッケージを使っている**：上流の版番号ではなく、各トラッカーでCVE-2026-94300などが「fixed」になった版を当てる。
- **9.10系以前が残っている**：CVE-2015-5477がKEV入りしたため、機器ごとの更新・置き換えを最優先で計画する。

同じ9.20系で2026年1月に公表された別のDoS脆弱性は、[CVE-2025-13878（BRID/HHITレコードでnamedが停止）の影響範囲と9.18系の扱い](/tech/details/10741/)で扱っています。こちらは9.18系の一部（9.18.40〜9.18.43）も対象になる点が本件と異なります。DNS応答の改ざん対策まで見直すなら[DNSSECの仕組みと導入手順](/tech/details/10518/)も参考になります。公開DNSを含むサーバー群の版管理と診断を外部に任せたい場合は、[一創の脆弱性診断・セキュリティ診断](/service/system/vulnerability/)で、対象サーバーの洗い出しから修正版適用後の確認まで相談できます。

## よくある質問

CVE-2025-40775の影響判断と更新の場面で出やすい質問をまとめます。

### CVE-2025-40775は認証なしで悪用できますか？

できます。CVSSベクトルのPR:Nが示すとおり、攻撃者はTSIGの共有鍵を持っている必要がありません。BINDは署名の正当性を確かめる前に、アルゴリズム欄の不正値で停止します。JPRSは、外部から問い合わせパケットを1つ送るだけで`named`を異常終了させられると説明しています。

### TSIGを使っていないサーバーも影響を受けますか？

影響を受けます。BINDは受信したメッセージにTSIGが含まれていれば、自分がTSIGを設定しているかどうかに関係なく検査します。JPRSも「TSIGを設定・利用していない場合も対象」と明記しています。9.20.0〜9.20.8または9.21.0〜9.21.7を使っているなら、TSIGの設定有無にかかわらず更新が必要です。

### BIND 9.18と9.20で影響は違いますか？9.18系は更新が必要ですか？

CVE-2025-40775では違いがあり、9.18系は脆弱なコードを含まないため影響を受けません（Debianのトラッカーも「Vulnerable code not present」と記載）。ただし2026年10月に公表されたCVE-2026-94300は、9.18.50までの9.18系も対象です。ISCの9.18系はEOLで修正版が出ないため、ISC版を直接使っているなら9.20.30への移行が必要です。RHEL 9やDebian 12の9.18系パッケージは、各トラッカーで修正済みの版が出たら適用します。

### named.confのACLで問い合わせ元を絞れば防げますか？

防げません。JPRSは、named.confのACLや設定オプションの変更では影響を回避・軽減できないとしています。メッセージを受け取った時点でTSIGの検査に入るためです。効果があるのはファイアウォールで53番ポートへの到達そのものを遮断できる社内専用サーバーに限られ、公開する権威サーバーでは更新以外に手段はありません。

### PoCは公開されていますか？実際に攻撃されていますか？

GitHubに、Scapyで不正なTSIGを送りDocker上のBIND 9.20.8を停止させるデモ環境が公開されています。一方、ISCは内部テストで発見したもので実際の悪用は把握していないとし、CISAのKEVにも2026年10月29日版の時点で収録されていません。遠隔・未認証で発火し、手順も公開されているため、更新は先送りにしないでください。PoCを本番サーバーに流して確かめるのは避け、版とトラッカーで判定します。

## 関連記事

- [BINDの脆弱性CVE-2026-94300とは：2026年10月の4件の対象版と確認コマンド・更新手順](/tech/details/18989/)
- [CVE-2025-13878とは｜BIND 9のBRID/HHITレコードでnamedが停止するDoS脆弱性の対象版と対策](/tech/details/10741/)
- [名前解決とは？DNSの仕組み・正引き/逆引き・dig/nslookupでの確認方法を実装者向けに解説](/tech/details/13556/)
- [DNSSECとは？DNSの安全性を守る仕組みと役割・導入手順をわかりやすく解説](/tech/details/10518/)
- [脆弱性診断とは？種類・費用相場・進め方と外注時の判断基準を解説](/column/details/13101/)

---

出典: [CVE-2025-40775とは｜BIND 9.20/9.21がTSIG不正でnamedを停止するDoSの対象版・修正版と確認手順](<https://www.issoh.co.jp/tech/details/7003/>)（株式会社一創）
