「複数のヤマハルーター製品におけるクロスサイト・リクエスト・フォージェリの脆弱性」対策の副作用への対策

1月28日付けで、複数のヤマハルーター製品におけるクロスサイト・リクエスト・フォージェリの脆弱性が発表された。

早速、手持ちのRT58iとRT57iのファームウェアを最新版に更新した。しかし、これによってちょっと困ったことが起きた。

うちの環境では、特定の相手方(非固定IPアドレス)からのPPTPおよびsshでの内部セグメントへの接続を許すために、一定時間ごとにダイナミックDNSで相手方のIPアドレスを調べて、変動があったらルータのフィルタを書き換えるスクリプトを走らせている。これが書き換えできずに異常終了するようになってしまったのだ。

いままでは単純に http://ルータのIPアドレス/detail/command_set.html に更新したいデータをPOSTすれば良かったのだが、これからは次のようにやらないといけなくなったようだ。「いけなくなったようだ」と断定調で書いていないのは、まだ試していないためなのだが。

  • まず http://ルータのIPアドレス/detail/command.html を取得する
  • その中の HTTPD_SESSION_ID の値を取り出す
  • HTTPD_SESSION_ID の値とともに、書き換えたいコマンドを http://ルータのIPアドレス/detail/command_set.html にPOSTする

今のところ、相手方のIPアドレスが変動するたびに、フィルタを手作業で書き換えてしのいでいる。