
CVE-2026-89020 の概念実証の権限昇格: RouterOS の mtget TFTP RRQ オーバーフローを悪用してグループポリシーを書き換え、読み取り専用ユーザーを完全な管理者に昇格させます。
元のオーバーフロー (DoS): Kazuma Matsumoto, GMO Cybersecurity by IERAE.
読み取り専用からの権限昇格: Cristiano Maranci, Davide Turaccio.
read グループの認証済みユーザーが、mtget の TFTP オーバーフローを通じて保存されたグループポリシーを書き換え、未パッチの RouterOS 上で完全な権限を取得します。MikroTik がこれを再現しました。このリポジトリは権限昇格の PoC であり、元のオーバーフローではありません。
| ビルド | mtget sha256 (16) | 脆弱性 |
|---|---|---|
| 6.49.7 | c86bad170066c058 | あり |
| 6.49.11 | c86bad170066c058 | あり (実機で検証済み) |
| 6.49.18 | a98020b2d5e39cf3 | あり |
| 6.49.19 | a98020b2d5e39cf3 | あり |
| 6.49.20 | a98020b2d5e39cf3 | あり |
| 6.49.21 | 9721d0bb5d21ec2a | なし (修正済み) |
| 6.49.22 | 9721d0bb5d21ec2a | なし |
| 7.23.3 | 0a976b16314073e7 | あり |
| 7.23.7 | b315c9516f67c078 | なし (7.23.4 で修正済み) |
| 7.24.1 | e5cba2a80146f361 | あり |
| 7.24.2 | a6a8b50ee270e018 | なし (修正済み) |
| 7.24.5 | 13dafb8a1d28fac7 | なし |
6.0 から 6.49.20 までのサンプリングされたすべての 6.x ビルド、および 7.1.5 から 7.24.1 までのサンプリングされたすべての 7.x ビルドが脆弱です。修正: 6.49.21、7.23.4、7.24.2。権限昇格は 6.49.11 (RB SXT-5D) と 6.49.18 (RB433GL) で検証済みです。
mtget の RRQ ビルダー: 境界チェックのない memcpy (6.49.11: ビルダー 0x406518、コピー 0x406558)。/tool fetch 経由の長い tftp:// パスが、保存されたレジスタとリターンアドレスを上書きします。/rw/store/group.dat を開き、先頭レコードのプレフィックス (38 バイト) を書き込み、それを読み戻し、マーカーファイルを書き込んで終了します。/nova/bin/user 内の group::restore (6.49.11: 0x40c348) は、値の検証なしに allow & clip と deny & clip を適用します。これにより read グループが full グループになります。python3 poc_read2full.py --host H --port P --user U --password W
python3 poc_read2full_generic.py --host H --port P --user U --password W \
--payload payloads/6.49.7-6.49.11.mipsbe.bin
poc_read2full.py は検証済みの 6.49.11 用ドライバーです。poc_read2full_generic.py は 6.49.7、またはペイロードを再計算した別のビルドにも対応します。
--promote-user NAME を指定すると、書き換え後にそのアカウントを任意で full に移動できます。
payloads/6.49.7-6.49.11.mipsbe.bin (4094 B、sha256 433d59c9...) は、実機実行で使用されたペイロードです。他のビルドではペイロードの再計算が必要です。
所有している、またはテストを許可されているデバイスでのみ実行してください。read グループポリシーを書き換えるため、デバイスが再起動する可能性があります。