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

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


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


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

その結果、対象デバイスへのネットワークアクセスを持つ認証済みの攻撃者は、cstecgi.cgi プロセスの実行フローを乗っ取り、バイナリ内の任意のコードパスを実行でき、デバイスの機密性、完全性、および可用性を侵害します。
これらの脆弱性は Nicola Giuffrida によって報告されました。