IRKitのセキュリティアップデート

IRKitの脆弱性とファームウェアアップデートのお願いを今更ながら対応。

バージョンが3未満だとアップデートしないといけない。バージョンはAPIを呼び出すとレスポンスヘッダに入っているのでcurlを使って以下のように確認。

$ curl -i "http://192.168.1.1/messages" -H "X-Requested-With: curl"
HTTP/1.0 200 OK
Access-Control-Allow-Origin: *
Server: IRKit/2.0.1
Content-Type: text/plain

2.0.1なのでアップデートする。発売直後に買った人などは古いバージョンになっているはず、自分は一度動作がおかしかったときにArduino IDEでファームウェアを更新したので2.0.1になっている。

Electronアプリと思われるIRKit Updater.appをダウンロードして実行。GateKeeperに制限されて起動しなかったので、右クリックから開くで起動。無事3.0.0.0.g85190b1へアップデートできた。

$ curl -i "http://192.168.1.1/messages" -H "X-Requested-With: curl"
HTTP/1.0 200 OK
Access-Control-Allow-Origin: *
Server: IRKit/3.0.0.0.g85190b1
Content-Type: text/plain

今回の修正でX-Requested-Withが必要になるなどIRKit Device HTTP APIの仕様が一部変更になったのだが、自作のPebble WatchappであるIRKit RemoteではIRKit Internet HTTP APIを使っているのでファームウェア更新後も問題なく動いた。オプションとしてIRKit Device HTTP APIを使うモードも用意しているけど使っている人はいないと思うので次にWatchappを更新するタイミングで対応しようと思う。