★阿修羅♪ 現在地 HOME > 掲示板 > IT4 > 976.html
 ★阿修羅♪
次へ 前へ
Slashdot Japanのコメント機能にXSS脆弱性 (対処済) 【最後の謝辞に注目。但し、日本ではこれは例外。黙っているのが一番、滅びよ、糞日本(爆)】
http://www.asyura2.com/0311/it04/msg/976.html
投稿者 クエスチョン 日時 2004 年 2 月 12 日 19:49:06:WmYnAkBebEg4M
 

(回答先: ITは人を幸せにするか第19章漂流するセキュリティ(1)【ASKACCS 関連 穴を見つけても黙っている方が良いようだ】 投稿者 クエスチョン 日時 2004 年 2 月 12 日 19:40:15)

Slashdot Japanのコメント機能にXSS脆弱性 (対処済) 【最後の謝辞に注目。但し、日本ではこれは例外。黙っているのが一番、滅びよ、糞日本(爆)】


>謝辞:
>本人の希望により名は伏せるが、最近のセキュリティ上の問題を指摘する
>ことを避けるとても危険な風潮にもかかわらず、恐れずに脆弱性を指摘し
>てくれた発見者に心から感謝したい。この指摘がなければ、いつまでも利
>用者を余計なリスクに晒していたか分からないだけでなく、悪意を持った
>人が発見し、悪用する可能性もあった。原因追求と対策にもっと時間が必
>要だったならば、サイトを一時的に閉鎖することも十分に考えられたが、
>たとえそうしたとして発見者が業務妨害を行ったとは微塵も考えられない。
>当然ながら、この発見は不正アクセスでもない。バグや脆弱性を指摘して
>くれる人がいるからこそ、サイトはより安全なものになれるのであって、
>いくら感謝してもしたりない事はあっても、逆怨みすることはありえない。
>今後も、もし脆弱性とおぼしきものを見付つけたら、すべての利用者のた
>めにも積極的に指摘してほしい。


Slashdot Japanのコメント機能にXSS脆弱性 (対処済)
Oliver による 2004年02月09日 6時20分 の投稿,
バグはどこに潜んでいるか分からない 部門より.
Slashdot Japanのコメント機能にXSS脆弱性が発見されました。コメント投稿時に「ホントのテキスト形式」もしくは「コード」モードを指定した場合に、JavaScriptを含め、任意のタグをコメントに含める事が可能でした。この脆弱性は利用者からの指摘により判明し、2月7日未明(日本時間)までに修正しました。

悪用された形跡が発見できなかったとはいえ、利用者のみなさんをアカウント情報やSlashdot Japanへのアクセス情報などが漏洩するリスクに晒してしまったことを心からお詫び申しあげます。


原因と対策:
2002年夏に追加した汎用的なXSS対策のコードにバグがあった。一度すべての入力の実体参照をデコードした上で、危険な文字を実体参照に置き換える処理していたのだが、コメントの本文などの自前のXSS対策が行われるフィールドは例外として実体参照のデコードのみしていた。この時、このコードが含まれる関数がページの作成処理の始め以外にも呼ばれ、さらに処理されるデータがstaticであり、返されるのがこのデータへのリファレンスだったことが見落とされていた。そのため、投稿されたコメント本文をXSS対策した後、DBに挿入されるまでの間に行われていたコメント本文とは関係ない処理の副作用として、せっかく実体参照化された危険な文字が元に戻されてしまっていた。対策としてXSS対策とDBへの保存の間に他の処理を行わないようにすると同時に、不要な実体参照のデコードを行わないようにコードを変更した。プレビュー時には正しい処理が行われていたため、このバグの存在がなかなか明らかにならなかったと考えられる。
影響範囲:
Slashdot Japanが独自に追加したコードのバグが原因であり、ベースとなるSlashcode 2.2.xにはこの脆弱性は存在しない。このコードは一般公開されておらず、Slashdot Japan以外にこの脆弱性をもつコードを利用しているサイトは存在しない。日本語対応作業中で公開されている2.3系では処理の方法が違うので、同じバグは含まれていない。
実害と対処:
対策後、これまでに投稿された約49万のコメントを調べたところ、この脆弱性を使ってJavaScriptを混入させたコメントは発見者による実験コメントのみしか発見できなかった。このバグにより、許されるタグのタイプミス(BROCKQUOTEやSTLONGなど)や許されていないが実害のないタグ(PRE)および意図せずにタグとなってしまったHTML的に無効なタグを含んだコメントがいくつか投稿されているが、この脆弱性を悪用しようとした形跡はない。発見者の実験コメントは手動で無害化した。
脆弱性の発生から解決までの時系列:
2002年夏:バグを含んだコードが書かれ、直後にSlashdot Japanにて使われはじめる
2004年2月4日:任意のタグを投稿できることに気がついた利用者がsecurity @ slashdot.jpにメールで連絡
2月6日朝:連絡がspamの可能性ありとして配信保留になっていたことが発覚。security@が久しく使われていなかったため、編集者MLの転送許可設定に含まれていなかったことが原因(対処済)。この時点ではコードを知っていて、チェックできるスラッシュチームのメンバーはいずれも別の用事があり、メールの内容を受けての調査はまだ行われなかった。
2月6日夜〜7日未明:調査開始直後、脆弱性が本物であることが判明。30分程度のデバッグで原因が判明し、すぐに緊急対策をSlashdot Japanに実装。並行してほぼ同じ時刻に発見者がJavaScriptを含む実験コメントを投稿、再度指摘のメールを送信した。緊急対策後、手動で実験コメントを無害化し、過去数日に書き込まれたコメントに脆弱性を悪用したものがないかをチェックした。発見者には修正した旨を連絡。
2月7日夜:スクリプトを作成し、過去に行われた約49万の全コメントを許可されないタグや不正な属性がないかチェック。結果、無害化された実験コメント以外に脆弱性を突いたものは発見できなかった。発見者に脆弱性の原因と対処を詳しく説明したメールを送信。
謝辞:
本人の希望により名は伏せるが、最近のセキュリティ上の問題を指摘することを避けるとても危険な風潮にもかかわらず、恐れずに脆弱性を指摘してくれた発見者に心から感謝したい。この指摘がなければ、いつまでも利用者を余計なリスクに晒していたか分からないだけでなく、悪意を持った人が発見し、悪用する可能性もあった。原因追求と対策にもっと時間が必要だったならば、サイトを一時的に閉鎖することも十分に考えられたが、たとえそうしたとして発見者が業務妨害を行ったとは微塵も考えられない。当然ながら、この発見は不正アクセスでもない。バグや脆弱性を指摘してくれる人がいるからこそ、サイトはより安全なものになれるのであって、いくら感謝してもしたりない事はあっても、逆怨みすることはありえない。今後も、もし脆弱性とおぼしきものを見付つけたら、すべての利用者のためにも積極的に指摘してほしい。

 次へ  前へ

IT4掲示板へ



フォローアップ:


 

 

 

 

  拍手はせず、拍手一覧を見る


★登録無しでコメント可能。今すぐ反映 通常 |動画・ツイッター等 |htmltag可(熟練者向)
タグCheck |タグに'だけを使っている場合のcheck |checkしない)(各説明

←ペンネーム新規登録ならチェック)
↓ペンネーム(2023/11/26から必須)

↓パスワード(ペンネームに必須)

(ペンネームとパスワードは初回使用で記録、次回以降にチェック。パスワードはメモすべし。)
↓画像認証
( 上画像文字を入力)
ルール確認&失敗対策
画像の URL (任意):
投稿コメント全ログ  コメント即時配信  スレ建て依頼  削除コメント確認方法
★阿修羅♪ http://www.asyura2.com/  since 1995
 題名には必ず「阿修羅さんへ」と記述してください。
掲示板,MLを含むこのサイトすべての
一切の引用、転載、リンクを許可いたします。確認メールは不要です。
引用元リンクを表示してください。