【活用ガイド】

JVNDB-2026-028138

Zephyr ProjectのZephyrにおける境界外書き込みに関する脆弱性

概要

subsys/logging/log_mgmt.c内のlog_filter_setシステムコールに対応するユーザースペースの検証関数z_vrfy_log_filter_set()は、int16_t型のsrc_idパラメータに対して符号付き比較を行っていました:src_id < (int16_t)log_src_cnt_get(domain_id)。src_idに負の値(例:-1)が入力されると、このチェックを容易に通過し、その値はz_impl_log_filter_setに渡され、filter_set()を経て最終的にget_dynamic_filter()に伝搬します。get_dynamic_filter()はsource_idを符号なしのインデックスとしてリンカーセクション配列&TYPE_SECTION_START(log_dynamic)[source_id].filtersに使用します。int16_tの-1はuint32_tへの暗黙の変換を経て0xFFFFFFFFとなり、log_dynamicの範囲外を参照してしまいます。その結果、カーネルはlog_dynamicセクションに隣接するメモリに対してOOB(範囲外)読み込みおよび読み込み-修正-書き込み(LOG_FILTER_SLOT_GET/SET)を実行します。書き込まれる値は対象となる32ビットワード内の制約された3ビットのログレベルスロットですが、対象アドレスは攻撃者により選択可能(log_dynamicからの小さな負のオフセット)です。この書き込みは特権のないユーザースレッドからのシステムコールの後にスーパーバイザーモードで発生するため、カーネルメモリ破壊および権限昇格のプリミティブとなります。この欠陥は、CONFIG_USERSPACE=yかつCONFIG_LOG_RUNTIME_FILTERING=yの任意のビルドで再現可能であり、Zephyr v3.3.0からv4.4.1まで存在していました。修正では符号付きの境界チェックを符号なし比較に置き換え、(uint32_t)src_id < log_src_cnt_get(domain_id)とすることで負の入力を正しく拒否しています。
CVSS による深刻度 (CVSS とは?)

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


Zephyr Project
  • Zephyr 3.0.0 以上 4.5.0 未満

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

・当該ソフトウェアが扱う全ての情報が外部に漏れる可能性があります。
・当該ソフトウェアが扱う全ての情報が書き換えられる可能性があります。
・当該ソフトウェアが完全に停止する可能性があります。
対策

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

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

  1. 境界外書き込み(CWE-787) [その他]
共通脆弱性識別子(CVE)  CVEとは?

  1. CVE-2026-10682
参考情報

  1. National Vulnerability Database (NVD) : CVE-2026-10682
  2. 関連文書 : logging: Fix z_vrfy_log_filter_set() check  zephyrproject-rtos/zephyr@56a1511  GitHub
更新履歴

  • [2026年08月13日]
      掲載