JVNDB-2026-021975 | |
Zephyr ProjectのZephyrにおける解放済みメモリの使用に関する脆弱性 | |
| 概要 | |
ZephyrのネイティブIPv4スタックにおいて、subsys/net/ip/icmpv4.c内のicmpv4_handle_echo_request()関数はエコー応答パケット(reply)を構築し、net_try_send_data()に渡します。送信が成功すると、net_stats_update_icmp_sent(net_pkt_iface(reply))を呼び出します。net_try_send_data()はreplyの所有権をTXパス(net_if_try_queue_tx - net_if_tx - L2/ドライバ送信、または非同期のnet_if_tx_thread)に移し、TXパスはrefcountを0にしてstruct net_pktをスラブに返却(net_pkt_unref - k_mem_slab_free)する可能性があります。そのため、統計情報更新の行が実行される前に解放されてしまうことがあります。net_core.cにはこの契約が明記されており(「pktはすでにガベージを含む可能性があるため…その後pktを使用しないこと」)、これに該当します。したがって、送信後のnet_pkt_iface(reply)は解放済み(かつ再利用されている可能性がある)net_pktからreply-ifaceを読み取っており、use-after-freeの読み込みにつながります。CONFIG_NET_STATISTICS_PER_INTERFACEが有効な場合、統計マクロはさらにこの値を通じてカウンタをインクリメントするため、解放済みまたは再利用されたポインタを介したデリファレンスや書き込みが発生します。このパスは、リモートホストが認証なしにデバイスにpingを送るだけで到達可能であり(net_icmpv4_input - net_icmp_call_ipv4_handlers - icmpv4_handle_echo_request)、CONFIG_NET_STATISTICS_ICMPの設定に依存します。影響としては、再利用されたパケットメモリの確率的な読み込みとタイミングレースによる可能性のあるワイルドポインタ書き込みが発生し、主にインターフェース統計の破損やリモートからの攻撃によるクラッシュ(DoS)につながります。この欠陥は2019年(v1.14)に導入され、v4.4.0まで存在しました。net_icmpv4_send_error()の関連変更は、送信中も生存している呼び出し元所有の受信パケットnet_pkt_iface(orig)を読み取るため、use-after-freeは発生しません。修正内容は、送信前に生存中の受信パケットからインターフェースポインタをキャッシュし、送信後の統計更新にそれを使用することです。 | |
| CVSS による深刻度 (CVSS とは?) | |
|
CVSS v3 による深刻度
基本値: 4.8 (警告) [NVD値]
| |
| 影響を受けるシステム | |
|
| |
Zephyr Project | |
本脆弱性の影響を受ける製品の詳細については、ベンダ情報および参考情報をご確認ください。 | |
| 想定される影響 | |
・当該ソフトウェアが扱う情報について、外部への漏えいは発生しません。 | |
| 対策 | |
ベンダ情報を参照して適切な対策を実施してください。 | |
| ベンダ情報 | |
GitHub | |
| CWEによる脆弱性タイプ一覧 CWEとは? | |
| |
| 共通脆弱性識別子(CVE) CVEとは? | |
|
| |
| 参考情報 | |
| |
| 更新履歴 | |
|
| 公表日 | 2026/06/16 |
| 登録日 | 2026/07/02 |
| 最終更新日 | 2026/07/02 |



