Twitterばかりで久しぶりのブログ更新。
ねたはイロイロあるのだがドラフトのままで放置が多いっす。
今日はTwitter クライアント HootSuite に脆弱性があったことについて書いておきます。
(もちろん既に修正されています)
<脆弱性の内容>
- Show Conversationで表示される会話内においてHTMLタグがエスケープされていない
(レポートから6日で状況把握していただき、修正は1ヶ月弱
) - ユーザー情報ポップアップウィンドウに表示されている最新ツイート内のHTMLタグがエスケープされていない。(レポートから2日で状況把握していただき、修正は1週間弱)
下の画像はイメージタグを挿入した例%22%20transform%3D%22translate(.6%20.6)%20scale(1.28125)%22%20fill-opacity%3D%22.5%22%3E%3Cellipse%20fill%3D%22%23fff%22%20cx%3D%22181%22%20cy%3D%22108%22%20rx%3D%2279%22%20ry%3D%2279%22%2F%3E%3Cellipse%20fill%3D%22%23585c44%22%20rx%3D%221%22%20ry%3D%221%22%20transform%3D%22matrix(-2.25688%20-27.69118%20200.73525%20-16.3603%20105.7%204.7)%22%2F%3E%3Cellipse%20fill%3D%22%23686673%22%20cx%3D%22138%22%20cy%3D%22215%22%20rx%3D%22255%22%20ry%3D%2223%22%2F%3E%3Cellipse%20fill%3D%22%23fff%22%20rx%3D%221%22%20ry%3D%221%22%20transform%3D%22matrix(128.21054%20-53.62866%2017.9582%2042.93285%20153.5%20113.1)%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E)
ユーザ情報の最新ツイート
私が発見したのは以上の2点で、ヘルプデスク経由で報告しました。
実験ではスクリプトタグや外部スクリプトの実行ができ、かなり危険な状態でした。
Web型のアプリケーションであるため、修正は全員に適用され問題は回避されますが、インストール型のアプリケーションだった場合、強制バージョンアップの仕組みなどを用意しておかないと危険な状態が続くなと。
またSEとして、コーティングルールを規定し、フレームワークとしてはデフォルトがエスケープするように安全な方に倒しておき、どうしてもHTMLタグを有効にしたい場合のみオプションで有効にするとか、エスケープしない場合には特別な function を通さないといけないなどの仕組みを用意しないと撲滅できないのかなぁと。大体はそうなっているはずだが JavaScript ではまだまだあまい印象。
自動でチェックとかは項目ごとの要件次第なところもあるので難しいのではないかと。
個人的にはいろいろなTwitterクライアントを試すも、HootSuite が今のところナンバーワンなので手放せません。7月には大きなバージョンアップがされるようなので注意深く見守っていきたいと思います。
本業の開発の方では気を引き締め直して取り組みたい。
)

コメント