
CVE-2025-5688のPoCエクスプロイト:脆弱なIoTデバイス上で、巧妙に細工されたLLMNR/mDNSクエリを介してFreeRTOS-Plus-TCPにリモートの範囲外書き込みを引き起こし、クラッシュや潜在的なRCEを引き起こします。
リモートメモリ破損 / DoS / 潜在的なRCEトリガー。FreeRTOS-Plus-TCPにおける、LLMNRまたはmDNSクエリ内の過度に長いDNS名を処理する際の脆弱性(バッファ割り当て方式1)。
エクスプロイト作成者: Mohammed Idrees Banyamer
国: ヨルダン
Instagram: @banyamer_security
日付: 2025年12月26日
このPoCは、脆弱なバージョンの FreeRTOS-Plus-TCP (v2.3.4 – v4.3.1、LLMNR/mDNS + 方式1) において、過度に長いDNS名を含む特別に細工されたUDPマルチキャストパケットを送信して、範囲外書き込み (CWE-787) を引き起こします。
影響を受けるデバイスでよく見られる症状:
影響を受けるデバイス(例)
修正バージョン: FreeRTOS-Plus-TCP 4.3.2(厳密な長さ検証が追加されました)
参考資料
graph TD
A[Attacker on same LAN] -->|"1. Craft oversized DNS name"| B["`UDP Packet
long QNAME (~500+ bytes)`"]
B -->|"2. Send to multicast"| C{Target Protocol}
C -->|LLMNR| D[224.0.0.252:5355]
C -->|mDNS| E[224.0.0.251:5353]
D --> F["`FreeRTOS-Plus-TCP
LLMNR/mDNS Parser`"]
E --> F
F -->|"No length check + Scheme 1"| G[Fixed-size buffer overflow]
G --> H["`Out-of-bounds Write
CWE-787`"]
H --> I{Outcome}
I -->|"Common"| J[Crash / Reboot / Watchdog]
I -->|"Memory layout dependent"| K[Potential RCE / Code Execution]
I -->|"Data after buffer"| L[Memory corruption / Info leak]
socket、sys)– 外部パッケージは不要# LLMNR attack (default multicast)
python3 exploit.py LLMNR
# mDNS attack
python3 exploit.py mDNS
# Custom multicast IP (rarely needed)
python3 exploit.py LLMNR 224.0.0.252
python3 exploit.py mDNS 224.0.0.251
期待される出力:
[+] Sending 523-byte LLMNR query → target 224.0.0.252:5355
[+] Sent. Watch for immediate crash, reboot, LED blink loop, or freeze.
このコードは教育、研究、脆弱性デモンストレーション目的のみで提供されます。
所有者からの明示的な書面による許可なしに、このエクスプロイトをいかなるシステムやネットワークに対しても使用しないでください。
不正使用は法律(コンピュータ不正アクセス禁止法など)に違反する可能性があります。
著者は、誤用や損害について一切責任を負いません。
MITライセンス – LICENSEファイルを参照(ない場合は追加してください)。