CVE-2026-12522 in Zephyr情報

要約

〜によって VulDB • 2026年08月21日

HL7800セルラーモデムドライバの +CGCONTRDP: 応答ハンドラである drivers/modem/vendor_standalone/hl7800.c の on_cmd_atcmdinfo_ipaddr() は、セルラーネットワークがデバイスに割り当てる PDP コンテキストのパラメータ(ローカルアドレス、サブネットマスク、ゲートウェイ、および DNS サーバー)を解析します。応答は 256 バイトのスタックバッファに線形化され、その後、各アドレスフィールドの長さがネットワークから提供されたデータ内のカンマ/ドット区切り位置に基づいて計算され、固定長の 64 バイトのスタックバッファ temp_addr_str(および 16 バイトの iface_ctx.dns_v4_string)への strncpy() の長さ引数として直接使用されます。

フィールド長は攻撃者が制御可能な区切り位置から派生しており、宛先バッファに対して上限が設定されていないため、単一のフィールドが 64 バイトを大幅に超える可能性があります。悪意のあるまたはなりすましされたセルラーネットワーク(例えば不正な基地局など)は、アドレスフィールドが過長な +CGCONTRDP 応答を返すことができ、これにより modem worker スレッドのスタック上で temp_addr_str を越えて strncpy() が書き込みを行い、さらに temp_addr_str[addr_len] で境界外 NUL 書き込みが発生します。

デバイス側の特権やユーザー操作は必要ありません:デバイスは通常のネットワークアタッチ時に AT+CGCONTRDP=1 クエリを発行し、ネットワークが返すものをそのまま解析します。このオーバーフローによりスーパーバイザコンテキストで隣接するスタックメモリが破損し、少なくともリモートからトリガー可能なクラッシュを引き起こし、スタック保護がないターゲットでは制御フローのハイジャッキングの可能性もあります。

修正策は、各コピーの前にフィールド長を宛先バッファ(temp_addr_str および dns_v4_string)に対して制限し、過長のフィールドを拒否します。

Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.

責任者

Zephyr

予約する

2026年06月17日

モデレーション

承諾済み

エントリ

VDB-393433

EPSS

0.00218

アクティビティ

非常低い

ソース

Do you know our Splunk app?

Download it now for free!