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値]
| |
| 影響を受けるシステム | |
|
| |
Zephyr Project | |
本脆弱性の影響を受ける製品の詳細については、ベンダ情報および参考情報をご確認ください。 | |
| 想定される影響 | |
・当該ソフトウェアが扱う情報について、外部への漏えいは発生しません。 | |
| 対策 | |
ベンダ情報を参照して適切な対策を実施してください。 | |
| ベンダ情報 | |
GitHub | |
| CWEによる脆弱性タイプ一覧 CWEとは? | |
| |
| 共通脆弱性識別子(CVE) CVEとは? | |
|
| |
| 参考情報 | |
| |
| 更新履歴 | |
|
| 公表日 | 2026/08/26 |
| 登録日 | 2026/09/01 |
| 最終更新日 | 2026/09/01 |



