【活用ガイド】

JVNDB-2026-031092

Zephyr ProjectのZephyrにおける境界外読み取りに関する脆弱性

概要

LoRaWANのアプリケーションレイヤーにおけるクロック同期サービスは、clock_sync_package_callback()(subsys/lorawan/services/clock_sync.c)でダウンリンクを解析しています。このサービスのコマンドループでは、1バイトのコマンドIDが範囲内であることのみを保証しています。CLOCK_SYNC_CMD_APP_TIME(AppTimeAns)コマンドにおいては、ハンドラがsys_get_le32()で4バイトの時刻補正値を取得した後に1バイトのトークンを読み取りますが、受信バッファ(len - rx_pos)に5バイトのデータが残っているかどうかを確認していません。そのため、短縮されたまたは細工されたAppTimeAnsは、復号化されたペイロードの末尾から最大5バイトまで読み越してしまいます。ペイロード(rx_buf/len)は、登録されたダウンリンクコールバック(mcps_indication->Buffer/BufferSize)に渡される復号化されたアプリケーションフレームです。ハンドラに到達するには、LoRaWANのMAC整合性チェックとFRMPayload復号を通過したクロック同期ポート上のフレームである必要があるため、実質的な攻撃者は、悪意のあるまたは侵害されたネットワーク/アプリケーションサーバー(AppTimeAnsの送信者として指定されている)か、セッションキーを保持する者であり、任意の無線リスナーではありません。この読み越しは範囲が限定されています。バックアップの格納領域は固定長255バイトの静的バッファであるため、余剰バイトがわずかでも致命的な障害には至りません。また、読み取られた値(time_correction、token)は内部でのみ使用され、外部へ送信されないため攻撃者への情報漏洩やクラッシュも発生しません。唯一の影響は、古いトークンがctx.req_tokenと一致した場合に誤ったtime_correctionがデバイス自身のクロックオフセット(ctx.time_offset)に適用されることであり、被害者の時刻推定に限定された軽微な整合性への影響となっています。修正では、明示的な長さチェックを追加し、短すぎるAppTimeAnsを破棄するようにしています。なお、同等の1バイト読み取りが行われる周期性および強制再同期のハンドラも同様に保護されていませんが、その影響も同様に微小です。
CVSS による深刻度 (CVSS とは?)

CVSS v3 による深刻度
基本値: 4.3 (警告) [NVD値]
  • 攻撃元区分: 隣接
  • 攻撃条件の複雑さ: 低
  • 攻撃に必要な特権レベル: 不要
  • 利用者の関与: 不要
  • 影響の想定範囲: 変更なし
  • 機密性への影響(C): なし
  • 完全性への影響(I): 低
  • 可用性への影響(A): なし
影響を受けるシステム


Zephyr Project
  • Zephyr 3.3.0 以上 4.4.2 未満

本脆弱性の影響を受ける製品の詳細については、ベンダ情報および参考情報をご確認ください。
想定される影響

・当該ソフトウェアが扱う情報について、外部への漏えいは発生しません。
・当該ソフトウェアが扱う情報の一部が書き換えられる可能性があります。
・当該ソフトウェアは停止しません。
対策

ベンダ情報を参照して適切な対策を実施してください。
ベンダ情報

GitHub
CWEによる脆弱性タイプ一覧  CWEとは?

  1. 境界外読み取り(CWE-125) [その他]
共通脆弱性識別子(CVE)  CVEとは?

  1. CVE-2026-13479
参考情報

  1. National Vulnerability Database (NVD) : CVE-2026-13479
  2. 関連文書 : lorawan: clock_sync: validate AppTimeAns payload length  zephyrproject-rtos/zephyr@3d57806  GitHub
更新履歴

  • [2026年09月01日]
      掲載