
TOTOLINK a720r バッファオーバーフロー脆弱性に関するセキュリティアドバイザリ
ベンダー: TOTOLINK
ベンダーのウェブサイト: TOTOLINK
モデル: A720R
ファームウェアバージョン: V4.1.5cu.630_B20250509
ファームウェアのダウンロード先: TOTOLINK
CVSS v4.0 ベーススコア: 8.7 (高)
ベクター: CVSS:4.0/AV:N/AC:L/AT:N/PR:H/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N
cstecgi.cgi ファームウェアバイナリにはスタックベースのバッファオーバーフローが存在し、認証された管理者がプロセスの制御フローを乗っ取り、バイナリ内の既存のコードパスを実行できるようになります。この脆弱性は、setMacFilterRules ハンドラに対して、過度に長い desc パラメータ値を含む細工されたリクエストを送信することでトリガーできます。この値は、境界チェックなしで strcpy() により固定サイズのスタックバッファにコピーされ、保存された戻りアドレスを上書きします。

脆弱なコードは cstecgi.cgi バイナリ内にあり、指定された desc の値が長さ検証なしでスタックバッファにコピーされるため、保存された戻りアドレスが上書きされ、プログラムの制御フローがリダイレクトされる可能性があります。このバイナリはスタックカナリアなし、かつPIEなしでコンパイルされているため、オーバーフローは検出されず、バイナリ内の固定アドレスに存在するコードへ確実に実行をリダイレクトできます。


保存された戻りアドレスを上書きすることで、制御フローはバイナリ内の既存の関数にリダイレクトされました。これは、sleep(2) 呼び出し(デバイスの応答における測定可能な遅延を通じて命令ポインタの確実な制御を確認)、システム再起動ルーチン、セッションログアウト関数、およびログ消去ルーチンを呼び出すことで実証されました。


制御フローはさらに、Telnet サービスを起動するルーチンにリダイレクトされ、デバイス上で Telnet が有効になりました。

その結果、対象デバイスへのネットワークアクセスを持つ認証済み攻撃者は、cstecgi.cgi プロセスの実行フローを乗っ取り、バイナリ内の任意のコードパスを実行できるようになり、デバイスの機密性、完全性、および可用性を侵害する可能性があります。