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



