OpenWrtのDHCPv6サーバーとして標準的に使用されるodhcpdに、未認証の攻撃者によるroot権限でのコード実行につながる可能性があるスタックバッファオーバーフローの脆弱性CVE-2026-53921が確認されました。OpenWrtは2026年7月26日に公開した24.10.8で修正し、25.12系列では7月1日に公開済みの25.12.5に修正を収録しています。
脆弱性はDHCPv6のIdentity Association(IA)を含む応答の生成処理に存在します。攻撃者は、細工したDHCPv6 REQUESTパケットによって固定長のスタックバッファを超える書き込みを発生させる可能性があります。認証は必要ありませんが、OpenWrt公式は攻撃者をネットワーク隣接(network-adjacent)と説明しており、DHCPv6サーバーへネットワーク経由で到達できることが前提です。
odhcpdはOpenWrtでデフォルト有効の中核サービスであり、root権限で動作します。GitHub Security Advisoryは深刻度をCritical(重大)、CVSS v3.1の基本値を9.8と評価し、組み込み機器ではスタックカナリアやASLRなどの緩和機構が十分でない場合があることから、コード実行は現実的な影響になり得ると説明しています。技術情報と実証コード(PoC)も公開されており、利用者には早急な更新が求められます。
CVE-2026-53921の全体像
| 項目 | 内容 |
|---|---|
| CVE番号 | CVE-2026-53921 |
| 影響コンポーネント | OpenWrtのodhcpd |
| 対象機能 | DHCPv6 IA応答のシリアライズ処理 |
| 脆弱性種別 | スタックバッファオーバーフロー |
| 深刻度 | Critical(重大)。GitHub Security AdvisoryはCVSS v3.1を9.8と評価 |
| 攻撃条件 | 認証不要。DHCPv6サーバーへ到達できるネットワーク隣接攻撃者 |
| 想定される影響 | odhcpdのクラッシュ、メモリ破壊、root権限での任意コード実行 |
| サービスの状態 | odhcpdはOpenWrtでデフォルト有効 |
| 修正版 | OpenWrt 24.10.8、OpenWrt 25.12.5 |
| 公開状況 | 技術情報と実証コード(PoC)が公開済み |
| 推奨対処 | 利用中の系列に対応する修正版へファームウェアを更新 |
OpenWrtでodhcpdが担う役割
OpenWrtは、家庭用ルーター、アクセスポイント、ゲートウェイ、組み込みネットワーク機器などを対象とするLinuxベースのオペレーティングシステムです。一般的なメーカー製ルーターの固定的なファームウェアとは異なり、書き込み可能なファイルシステムとパッケージ管理機能を持ち、利用者がネットワーク機能や追加パッケージを柔軟に構成できます。
OpenWrtでは、dnsmasqとodhcpdがDNS、DHCP、DHCPv6などのネットワーク設定配布を担います。odhcpdは、DHCPv6サーバー、ルーター広告(Router Advertisement、RA)、プレフィックス委譲(Prefix Delegation)、DHCPv6リレー、NDPリレーなど、IPv6環境の構成に関わる複数の機能を提供します。
家庭や小規模拠点で一般的な構成では、OpenWrtルーターが上位回線からIPv6プレフィックスを受け取り、LAN側の端末へIPv6アドレスやネットワーク情報を配布します。この処理の一部を担うodhcpdは、OpenWrtの標準構成で有効になっており、単に追加インストールした任意パッケージだけに存在する問題ではありません。
今回の脆弱性は、DHCPv6クライアントから受け取ったREQUESTを処理し、IAに関する情報を応答として組み立てる経路に存在しました。ネットワーク設定を配布する中核サービスが攻撃対象となるため、脆弱な環境ではルーターやゲートウェイ自体の権限を奪われる可能性があります。
脆弱性の中核 — 512バイトの応答バッファを越える書き込み
DHCPv6では、クライアントが利用するIPv6アドレスやプレフィックスに関する情報を、Identity Associationと呼ばれる単位で管理します。IA_NAは通常のIPv6アドレス、IA_PDは下位のルーターなどへ委譲するIPv6プレフィックスに関係するオプションです。
odhcpdはDHCPv6 REQUESTを受信すると、要求されたIAを確認し、割り当て結果やエラー状態などをDHCPv6の応答へ追加します。この応答生成には固定長512バイトのスタックバッファが使用されていました。
CVE-2026-53921では、複数のIAオプションによって応答バッファの残り領域が少なくなった状態でも、追加の情報を書き込む前に十分な空き容量があるかを確認していない処理が残っていました。攻撃者が多数のIAオプションを含むDHCPv6 REQUESTを送信すると、応答データの生成中にバッファの終端を越えてデータが書き込まれる可能性があります。
スタックバッファオーバーフローが発生すると、同じスタック領域に置かれた別のデータや制御情報が上書きされます。結果は実行環境やメモリ保護機構によって異なりますが、サービスの異常終了だけでなく、処理の流れを攻撃者が制御し、任意コードの実行へ発展する可能性があります。
2つのオーバーフロー箇所と公式情報の整理
odhcpdのGitHub Security Advisoryは、同じDHCPv6 IA応答処理の呼び出し経路に2つの独立したオーバーフロー箇所が存在すると説明しています。いずれも、応答バッファの残容量を十分に確認しないまま追加データを書き込む問題です。
1つは、IAの処理に失敗した際に返すステータス情報の追加処理です。基本となるIAヘッダーを格納できる容量は確認していましたが、その後に追加するステータス情報まで含めた全体の長さを事前に確認していませんでした。
もう1つは、DHCPv6の再構成を受け入れるRECONF_ACCEPTに関係する応答処理です。この経路でも、追加するデータのサイズに対してバッファの残容量を確認しない書き込みが存在しました。
ただし、CVEとの対応関係には公式情報間で表記の差があります。odhcpdのGitHub Security Advisoryは2つの箇所を1件のアドバイザリとして説明していますが、OpenWrt 24.10.8のリリースノートはRECONF_ACCEPT側の問題を、CVE番号未割り当てのHigh脆弱性としてCVE-2026-53921とは別に掲載しています。
このため、CVE-2026-53921として確実に扱える中核は、DHCPv6 IA応答のシリアライズ処理におけるスタックバッファオーバーフローです。RECONF_ACCEPT側は密接に関連する問題ですが、現時点の公式リリース情報に従い、CVE未割り当ての別脆弱性として区別するのが安全です。
攻撃条件 — 「未認証」だがネットワーク隣接が前提
CVE-2026-53921の悪用に、OpenWrtの管理画面へログインするためのユーザー名やパスワードは必要ありません。DHCPv6サーバーへ細工したREQUESTを送信できれば、脆弱な処理に到達する可能性があります。
一方で、OpenWrt公式リリースは攻撃者の位置をネットワーク隣接と表現しています。これは、世界中のインターネット上から任意のOpenWrtルーターへ直接攻撃できるという意味ではありません。攻撃者は、odhcpdがDHCPv6サーバーまたはリレーとしてパケットを受け付けるネットワークへ到達できる必要があります。
典型的な家庭用ルーター構成では、odhcpdはLAN側の端末へIPv6情報を配布します。その場合、主な攻撃元として考えられるのは、同じ有線LANや無線LANに接続した端末、ゲストネットワーク、管理対象外のIoT機器、侵入済みの内部端末などです。
ただし、実際の露出範囲はインターフェース設定、ファイアウォール、VLAN、DHCPv6リレー、上位・下位ルーターとの接続方法によって異なります。DHCPv6サーバーを外部や広範なネットワークから到達可能にしている特殊な構成では、攻撃元の範囲が広がる可能性があります。
「認証不要」という条件だけを見てインターネット経由のRCEと解釈するのは正確ではありませんが、内部ネットワークへ接続できる攻撃者から、ルーター自体のroot権限を奪われる可能性がある点は深刻です。無線LANを不特定多数へ提供する施設、共有ネットワーク、宿泊施設、教育機関、検証環境などでは、特に優先して確認する必要があります。
root権限でのコード実行につながる理由
GitHub Security Advisoryは、odhcpdがOpenWrt上でroot権限により動作している点を重要な要素として挙げています。仮にバッファオーバーフローを利用して任意コードの実行に成功した場合、そのコードもodhcpdと同じroot権限で動作する可能性があります。
root権限を取得されると、ルーターのネットワーク設定、ファイアウォール、DNS設定、通信経路、VPN設定、認証情報、追加パッケージなど、システム全体に影響が及ぶ可能性があります。外部から見える通信を転送するだけでなく、内部ネットワークとインターネットの境界に位置する機器が攻撃者の管理下に置かれるため、接続端末への攻撃や通信の監視に利用される危険もあります。
アドバイザリは、OpenWrtが動作する組み込み機器では、スタックカナリアやASLRなどのメモリ破壊対策が利用できない、または十分に機能しない場合があると説明しています。すべての対応機器で同じ条件が成立するわけではありませんが、デスクトップやサーバー向けLinuxよりも防御機構が限定された機器では、コード実行へ発展する現実性が高まります。
一方、公開されている情報だけで、あらゆるOpenWrt対応機器に対して安定したroot権限でのコード実行が成立すると断定することはできません。CPUアーキテクチャ、コンパイラ設定、メモリ保護機構、odhcpdのビルド、ネットワーク構成などによって、悪用の難易度や結果は変わります。
影響バージョンと修正版
GitHub Security Advisoryは、検証に使用したodhcpdのmasterブランチのコミットe432dd6以前と、問題のある処理を含む過去のバージョンを影響対象として説明しています。アドバイザリ上の「Patched versions」は未設定ですが、これはOpenWrtのファームウェア修正版が存在しないことを意味しません。
OpenWrtのサポート中系列では、次のリリースに修正が取り込まれています。
- OpenWrt 24.10系列:2026年7月26日公開の24.10.8で修正。24.10.7以前を利用している場合は更新が必要
- OpenWrt 25.12系列:2026年7月1日公開の25.12.5で修正。25.12.4以前を利用している場合は更新が必要
OpenWrt 25.12.5は24.10.8より先に公開されており、CVE-2026-53921を含むodhcpdの修正をすでに取り込んでいました。24.10系列を継続利用している環境向けに、同系列の修正版として24.10.8が後から公開された形です。
OpenWrt 24.10系列はセキュリティメンテナンス段階に入り、サポート終了は2026年9月に予定されています。OpenWrtプロジェクトは24.10.8への更新だけでなく、サポート終了前に25.12系列へ移行することも推奨しています。
メーカーがOpenWrtを基盤として独自のファームウェアを提供している場合、OpenWrtのバージョン番号だけでは影響や修正状況を判断できないことがあります。ベンダーがodhcpdを独自に更新している可能性や、逆に古いコードを継続使用している可能性があるため、製品メーカーのセキュリティ情報とファームウェア更新状況を確認してください。
OpenWrt 24.10.8で同時修正された脆弱性群
OpenWrt 24.10.8は、CVE-2026-53921だけを修正するリリースではありません。OpenWrtは、デフォルトで有効な中核ネットワークサービスに、遠隔から到達可能な複数の脆弱性が存在するとして、すべての利用者へ更新を強く推奨しています。
odhcpdでは、CVE-2026-53921と同じDHCPv6処理周辺で、次の問題も修正されました。
- CVE-2026-53918(High):DHCPv6 IA処理における解放後利用(UAF)
- CVE-2026-53920(High):短いIA_NAまたはIA_PDオプションによるスタックメモリの情報漏えい
- CVE-2026-53922(Moderate):サイズ計算の整数アンダーフローによる認証前のサービス拒否(DoS)
- RECONF_ACCEPTスタックバッファオーバーフロー(High、CVE未割り当て):応答データを追加する際の残容量確認不足
- CLIENT_ARCH処理のスタックバッファオーバーリード(Moderate、CVE未割り当て):長さ0のオプションによる範囲外読み取りと、厳格なアライメントを要求する機器でのクラッシュ
- NDPリレーのホップリミット(hop limit)検証不備(Moderate、CVE未割り当て):NDPリレー利用時にホップリミット255以外の不正な近隣要請(Neighbor Solicitation)を受け入れる問題
また、odhcpdとLuCIの組み合わせでは、認証前のDHCPv6クライアントが細工したホスト名を使用し、管理者がLuCIのリース一覧を開いた際に保存型クロスサイトスクリプティング(保存型XSS)を発生させるCVE-2026-62948(Critical)も修正されています。
OpenWrtのWebサーバーであるuhttpdでは、HTTPリクエストスマグリングにつながるCVE-2026-55612、CVE-2026-55613、CVE-2026-55614が修正されました。LuCIでファイルのアップロードやダウンロードに使われるcgi-ioでは、認証済みの限定ユーザーがパストラバーサルによってrootから読み取り可能なファイルへアクセスできるCVE-2026-62947も修正されています。
CVE-2026-53921への対応だけを目的とする場合でも、これらの問題を個別に選別して対処するより、OpenWrt公式が提供する24.10.8または25.12.5へ更新する方が確実です。
公開PoCと実務上のリスク
odhcpdのGitHub Security Advisoryには、脆弱性を再現するための技術情報と実証コードが掲載されています。公開内容は、問題が理論上の可能性だけではなく、細工したDHCPv6パケットによって実際にバッファ終端を越える書き込みを引き起こせることを確認するものです。
一方、公開PoCがそのまま任意のOpenWrtルーターで安定したroot権限のコード実行を実現するわけではありません。再現環境と実際の製品では、ハードウェア、メモリ配置、ビルド設定、保護機構などが異なります。
それでも、脆弱なパケット構造と到達経路が公開されていることで、別の研究者や攻撃者による追加分析は容易になります。クラッシュを起こすPoCから、特定機種や特定ビルドを対象としたコード実行へ発展する可能性を考慮し、実悪用の確認を待たずに更新するのが適切です。
現時点のOpenWrt公式リリースとGitHub Security Advisoryは、CVE-2026-53921が実際の攻撃で悪用されたとは説明していません。ただし、デフォルト有効のroot権限サービス、認証不要のネットワーク入力、公開PoCという条件が重なっているため、実務上の優先度は高い脆弱性です。
実務上の推奨対処
最も確実な対処は、利用しているOpenWrtの系列に応じて24.10.8または25.12.5へファームウェアを更新することです。OpenWrtプロジェクトは、最新リリースへのアップグレードと、利用可能なパッケージ更新の適用を強く推奨しています。
更新前後には、次の項目を確認してください。
- 現在のバージョン確認:OpenWrt 24.10.7以前または25.12.4以前を使用していないか確認する
- 対応イメージの選択:OpenWrt Firmware Selectorまたは公式ダウンロードサーバーから、機器のモデルとハードウェアリビジョンに一致するイメージを取得する
- 設定のバックアップ:LuCIのBackup / Flash Firmwareなどから設定を退避し、復元できることを確認する
- 追加パッケージの確認:標準イメージに含まれないVPN、監視、ストレージ、USB、無線関連パッケージなどが更新後も利用できるか確認する
- メンテナンス時間の確保:ファームウェア更新中はルーターが再起動し、通信が一時停止するため、業務影響の少ない時間帯に実施する
- 更新後の確認:起動中のOpenWrtバージョン、odhcpdの動作、IPv6アドレス配布、RA、DHCPv6-PD、ファイアウォール、VPNなどを確認する
OpenWrt 25.12系列では、インストール済みの追加パッケージと設定を維持しやすくするAttended Sysupgradeやowutも利用できます。ただし、アップグレード前の設定バックアップは省略せず、利用中の追加パッケージが移行先で提供されているかを確認してください。
直ちに更新できない場合は、DHCPv6サーバーへ到達できる端末とネットワークを確認し、信頼できない端末やゲストネットワークからの到達を制限することが一時的な露出低減になります。DHCPv6やRAを利用していないインターフェースでは、不要なサービスを無効化できるか検討してください。
ただし、DHCPv6やRAを不用意に停止すると、IPv6接続、名前解決、プレフィックス委譲、下位ルーター、IoT機器などに影響する可能性があります。設定変更を行う場合は事前に影響を検証し、ファームウェア更新に代わる恒久対策とは扱わないでください。
OpenWrt 24.10系列は2026年9月にサポート終了が予定されています。24.10.8への緊急更新を実施した後、機器が対応している場合は25.12系列への移行計画も進める必要があります。
一次情報・公式情報
OpenWrt 24.10.8 – Service Release(OpenWrt、2026年7月26日)
OpenWrt 25.12.5 – Service Release(OpenWrt、2026年7月1日)
Stack buffer overflow in DHCPv6 IA reply serialization(GHSA-7fwx-hhrg-3496、OpenWrt odhcpd)
odhcpd – Embedded DHCP/DHCPv6/RA Server & Relay(OpenWrt)
DHCP and DNS configuration(OpenWrt公式ドキュメント)
OpenWrt Firmware Selector
Upgrading OpenWrt firmware using LuCI and CLI(OpenWrt公式ドキュメント)

コメント