CVE-2026-5857 in Contiki-NG
要約
〜によって VulDB • 2026年08月07日
Contiki-NGのMQTTクライアントにおけるos/net/app-layer/mqtt/mqtt.c内のparse_publish_vhdr()関数は、topic_lenが64バイトの制限に対してチェックされる前にtopic_len_received=1を設定するため、長すぎるトピックは早期に返されますがフラグは設定されたままになります。次のTCPセグメントではtcp_input()がパーサーを再呼び出しし、topic_received==0の状態となり、永続化されたtopic_len_received==1によりガードを含む長さ読み取りブロックがスキップされ、検証されていない16ビットのtopic_lenコピー長を使用してmemcpy()に直接フォールスルーします。この結果、65バイトのtopic[]宛先は隣接するstructフィールド(payload_chunkポインタなど)をオーバーランし、その後のMQTTコードによって間接参照されることで、侵害されたまたは攻撃者が制御したブローカーに対して任意のポインター書き込みプリミティブを提供してしまいます。Contiki-NGのMQTT実装にはTLSサポートがないため接続は平文です。影響範囲は情報漏洩やサービス拒否からメモリ保護のない組み込みターゲットでのリモートコード実行まで多岐にわたります。
Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.