はてなダイアリー本体のXSS脆弱性

あれ?いつからはてなダイアリーではHTMLの意味でのbackground属性が使えるようになったのでしょう。background属性でXSS脆弱性が発見されたようですけれど。

はてなダイアリーはHTML4.01を採用しています。background属性はbody要素でのみ有効なはず。はてなダイアリーでは当初、background属性など許可されていなかったはずです。だって、スタイルシートが使えるのが売りですしね。background属性など必要ないでしょう。悲しみながら調べてみます。

更新履歴-はてなダイアリー利用可能タグとは::はてなダイアリーから引用すると、どうも以下のようです。

■更新履歴
(snip)
  • 利用可能属性にbackgroundを追加しました。(2/7)
(snip)

background属性の許可って…いったい何年の出来事でしょうか?

そもそも、はてなダイアリー利用可能タグでは、body要素を許可していません。当然です。はてなダイアリーの編集画面からbody要素の終了タグや開始タグなど入力されては正しいHTMLが構成できないこと火を見ることより明らかです。ひとつのHTMLに複数のbody要素があるなんてナンセンスです。

従って、body要素でのみ有効なbackground属性など、許可する必要、微塵もありません。いったいぜんたいなんなんでしょう。センスがないこと夥しい。

その上、background属性の属性値が%URI;なのにスキームのチェックまでしなかったのでしょうか?javascript擬似スキームを許可していたのですか…

なさけないこと…悲しいこと…

OK。一部の変なブラウザは仕様外のことをしています。table要素にbackground属性を与えるとそれなりに変になります。Opera8.51とかIE6とかNS8.0のIEエンジン使用時とか。そちらは大丈夫なのでしょうかね?もちろん、私は信じていますよ。HTML の background 属性の値に任意のスクリプトを実行できる脆弱性が発見されましたので、先ほど修正を行いました。とおっしゃっているのですから>はてなさん。

って、やっぱりtable要素ですか。orz。罠日記を読んだ瞬間あぼーんなわけですね。参考:http://d.hatena.ne.jp/quaa/20060204#p2

これで自動書き込みされる本文に「こんにちはこんにちは!!」じゃなくてこのコードが仕込んであったらおおごとだよ?今でもおおごとだけど。

…そうであったなら立派なワームですね。もっと被害者が増えます。ネズミ算式で。

どうも、はてなのアジリティーに最近失望する事件ばかり発生しているので悲しくてしょうがないです。はてなの誇るアジャイルってそんなものなのならイラナイ。

未知の脆弱性があるのならしかたがありありませんがねぇ、そんなことないと思いますよ。background属性ではね。あったらIPAのテキスト書き換えなくちゃ。

つい先日のはてなブックマークXSS脆弱性事件でも、そもそもありえないエスケープを行っていたので、第一波が押し寄せてきたようですよね。で、善意のユーザからの報告を受けて極めて迅速に修正していらっしゃいました。その直後に第二波が押し寄せています。最初の修正が間違ったエスケープをしていたからです。

いくら修正が迅速でも、そんなものはアジャイルとは言いません。むしろ逆。簡単なエスケープすら最初から出来ないようでは、そもそも生産性が悪すぎです。基本を押さえていればこんなことは起きませんから。本来不要な、あわてながら泣きながらのXSS対策修正などしなくて良いはずです。

HTMLの仕様がわかっていないから、変なエスケープをするのでしょうし、変な属性をユーザに許可するのでしょう。だいたいonイベントな属性の混入をはてなブックマークで許していたことも大変不可思議です。はてな内部には、基本的な監査能力がないのでしょうか。恐らく自前で開発ツールを作っているはずですが、そこには過去のノウハウが詰め込まれていないのでしょうか。

なさけないこと…悲しいこと…


id:Hamachiya2が仕掛けたこと。Hamachiya2の罠日記にmixiなど外部も含めて訪問させる。訪問者がはてなユーザでログイン済みの場合には、その訪問者の日記にこんにちはこんにちは!!と不正な書き込みをする。その上、Hamachiya2の罠日記へのリンクを不正な書き込む。さらに、その訪問者の権限ではてなブックマークを不正に追加する。これらにより罠ページへさらに加速度的に被害者を呼び込む。

はてなが未対処であろうと予想される部分をあげてみる。不正に追加されたブックマークの削除。罠ページを訪問したユーザの日記にある不正なコメントと不正なリンクの削除。罠ページには被害者日記からの自動トラックバックが来ているのだがその削除。被害者の一覧表になっているわけだ。これらの痕跡の削除。w.hatenaトップにある最近の人気記事で罠ページがトップにもなっているから削除。なお、既にニュースになっていてあちらこちらでブックマークされたりリンクされたりしていることをも頭の片隅に入れておくべきだ。

仮に次のXSS脆弱性を突いた罠をid:Hamachiya2が速攻でしかけたら、これらの痕跡が再び罠ページへの誘引になる。前よりも被害がさらに広がるだろう。被害拡散の加速度ももっと増えるだろう。非常に危険だ。

id:Hamachiya2の罠日記を閉鎖すべきと考えられる。アカウント停止はポリシーの遵守で速攻で出来なくとも、最低限、id:Hamachiya2の日記を強制的にプライベートモードにするべきだ。そうすれば、上記の加速度的な罠ページへの誘引の根は絶ち切れる。ユーザは危険すぎるので罠ページへ訪問しない方が良いだろう。