URLに含まれるとGoogle Chromeがクラッシュする文字列 43
ストーリー by headless
snap 部門より
snap 部門より
Google Chromeで特定の文字列を含むURLを指定するとクラッシュすることが判明した(Andris Atteka's blogの記事、
VentureBeatの記事、
The Registerの記事、
chromium - Issue 533361)。
発見者のAndris Atteka氏が例示しているのは「http://biome3d.com/%%30%30」というURLで、これをChromeのOmnibox(アドレス/検索ボックス)に入力してEnterキーを押すとChromeがクラッシュする。また、このURLが指定されたリンクをポイントすると、表示中のタブのみがクラッシュする。
ポイントはスラッシュ以下の「%%30%30」で、null文字を示す「%00」に変換される。いくつか試してみたところ、「%%300」「%0%30」でも同様の結果となる一方、「%00」そのものではクラッシュしなかった。Ominiboxに入力する場合はドメインとして解釈できる文字列とスラッシュに続いて記述する必要があるが、リンクに指定する場合には「%%300」だけでもクラッシュした。
原因としては、「%00」となった部分が再度処理されてnull文字に変換されてしまうため、URLの有効性チェックに失敗してクラッシュが発生しているようだ。この問題はセキュリティー上のバグではないとみなされ、報奨金の対象にはならなかったとのこと。
なお、VentureBeatでは検証の結果、Chrome for WindowsおよびChrome for Macの両方で再現したが、Chrome for Androidでは再現しなかったとしている。また、The Registerによれば、ChromebookやChromium 45ベースのOpera 32でも再現するとのことだ。ただし、手元のAndroid端末で試したところ、Omniboxへの入力は問題なかったが、リンクをタップするとタブがクラッシュした。
発見者のAndris Atteka氏が例示しているのは「http://biome3d.com/%%30%30」というURLで、これをChromeのOmnibox(アドレス/検索ボックス)に入力してEnterキーを押すとChromeがクラッシュする。また、このURLが指定されたリンクをポイントすると、表示中のタブのみがクラッシュする。
ポイントはスラッシュ以下の「%%30%30」で、null文字を示す「%00」に変換される。いくつか試してみたところ、「%%300」「%0%30」でも同様の結果となる一方、「%00」そのものではクラッシュしなかった。Ominiboxに入力する場合はドメインとして解釈できる文字列とスラッシュに続いて記述する必要があるが、リンクに指定する場合には「%%300」だけでもクラッシュした。
原因としては、「%00」となった部分が再度処理されてnull文字に変換されてしまうため、URLの有効性チェックに失敗してクラッシュが発生しているようだ。この問題はセキュリティー上のバグではないとみなされ、報奨金の対象にはならなかったとのこと。
なお、VentureBeatでは検証の結果、Chrome for WindowsおよびChrome for Macの両方で再現したが、Chrome for Androidでは再現しなかったとしている。また、The Registerによれば、ChromebookやChromium 45ベースのOpera 32でも再現するとのことだ。ただし、手元のAndroid端末で試したところ、Omniboxへの入力は問題なかったが、リンクをタップするとタブがクラッシュした。
マジでクラッシュした (スコア:3, おもしろおかしい)
まともに記事読めない
Re: (スコア:0)
> マジでクラッシュした (スコア:0)
> まともに記事読めない
ワロタ
けどストーリーのURLに含まれていないんだが
ページ文字列をURLにするアドオンでも入れてたんですかね
Google Chrome 46.0.2490.33 beta-m (64-bit)では
URLに含まれていてもアドレスバーが
「about:blank」になってクラッシュしませんね
既に対策のめどは立っているようなので
早々にStableに反映されるでしょう
Re:マジでクラッシュした (スコア:5, 興味深い)
コメント元のACとは別IDですが、Text URL Linker [google.com]という「ページ文字列をURLにするアドオン」を入れていて、このストーリーを表示した直後にクラッシュしました。
今はクラッシュしていないので、URLの上をマウスオーバーしたことがクラッシュの原因かと推測しますが、今日はこの話を見るたびに何度もクラッシュしていて、ちょっと怖いですね。
Chromiumのバージョン 44.0.2403.89 Ubuntu 14.04 (64-bit)での環境の話です。
Re:マジでクラッシュした (スコア:4, 参考になる)
訂正:46.0.2490.33 beta-m (64-bit)でも再現
■クラッシュしない場合
・該当URLをアドレスバーへドラッグ
・該当URL文字列を選択肢してコンテクストメニューから移動
■クラッシュする場合
・該当URLをアドレスバーへコピー&ペーストしてエンター
・該当URLをアドレスバーへコピー&ペーストして「貼り付けて移動」
■タブがエラー表示する場合
・タイミングによっては該当URL選択後にドラッグしようとした瞬間
# ひとつ前のレスが検証不足ですんません
Re:マジでクラッシュした (スコア:2, おもしろおかしい)
>・該当URLをアドレスバーへコピー&ペーストしてエンター
>・該当URLをアドレスバーへコピー&ペーストして「貼り付けて移動」
何度やってもクラッシュしてくれない。
おれのchromeは壊れているようだ。
Re: (スコア:0)
てことは、かなりトリビアルな部分でクラッシュしてるんですね。URIのオブジェクト生成中にURLデコードしたあたりで。長さが指定してある文字列中のNULLは扱いが難しいですね。
Re: (スコア:0)
ペースト時に、一度デコードされるわけですね。
それにしても、スラッシュドットはiPhoneだと使い辛いなあ。
PC用表示だとコメントのリンクを開くときに「スコア」をタップして右上のログインに飛ばされるし、スマホ表示だと投稿で砂時計(じゃないけど)になって投稿できない。
昔はPC用で問題なく使えてた気がするんだけど。
Re: (スコア:0)
バージョン 45.0.2454.93 m (64-bit)
わははは、ほんとにクラッシュした
楽しいなぁ
Re: (スコア:0)
マウスオーバーした瞬間するっとクラッシュしてこれはこれで楽しい
Re: (スコア:0)
47.0.2513.0 canary (64-bit) だけど、もう修正されたのかクラッシュしなかった。
つまんないの。
Re: (スコア:0)
当方もぜんぜんクラッシュしません
バージョン 44.0.2403.89 Ubuntu 14.04 (64-bit)
ちなみに拡張機能はGoogle Castのみです
Re: (スコア:0)
なんでバージョン44なの? NPAPIサポートはLinuxでは1年以上前に終了してるから理由にならないし。
Re: (スコア:0)
バージョン 47.0.2513.0 (64-bit)だけどURL打ち込んでエンターでクラッシュした
みんなセキュリティリスクに無頓着? (スコア:1)
「biome3d.com」というドメインがフィッシングサイトではない保障もないし、検索サイトにも出てこないのですが、みんな割と無頓着にリンクをクリックしているような。
#Biome3D自体は、3Dプリンターのフィラメントのようですが。
知っているドメインに置き換えて試してみたら、Apacheのデフォルトのエラーページが(Apacheのバージョン付きで)出てきてもにょっとしたり。
#ミドルウェアの種類やバージョンを知られるのは、そのバージョンで残されている脆弱性を突かれる原因ともなるはず。
試したサイトはセキュリティ情報もやりとりされるようなところなだけに、ちょっと残念。
Re: (スコア:0)
「biome3d.com」というドメインがフィッシングサイトではない保障もないし、検索サイトにも出てこないのですが、みんな割と無頓着にリンクをクリックしているような。
フィッシングサイトか疑うのは個人情報やログイン情報などを入力するときなので、今回のケースはそれにあてはまりません。
もしかして、毎回リンクをクリックするたびにwhoisでドメインの所有者を確認しているくらい、慎重な行動をされている人ですか?
#ミドルウェアの種類やバージョンを知られるのは、そのバージョンで残されている脆弱性を突かれる原因ともなるはず。
時代が変わり、UserAgent(ブラウザ)やServer(Webサーバ)を隠蔽すべき状況に (スコア:3)
昔は私も、クライアントPCにおける UserAgent や、Webサーバにおける Server(HTTP Header)の隠蔽・偽装をしたところでセキュリティ上の効果が無いというコメントをした記憶がありますが、ここ数年で状況が変わったと思います。
最近のマルウェア配布サイトは、UserAgent でターゲットを絞り込む場合が多いです。
理由は簡単で、Webブラウザにマルウェア配信サイトをブロックする機能が内蔵されるようになったので、全てのクライアントに対してマルウェアを配信すると、ブロックされる可能性が高くなるからです。悪意のあるWebサイトのブロック機能は、クローラーが当該Webサイトをクロールして、悪意のあるコードを含むかどうかを判定しているので、クローラーのUserAgentに対してマルウェアを配信しなければ、ブロックされる可能性が低くなります(最も、悪意のあるページだとの報告が増えればブロックされますが、時間稼ぎになります)。そのため、「UserAgent」が脆弱性のあるバージョンのブラウザの場合に限って悪意のあるコードを配信するサイトも増えてきました
ということは、UserAgentを隠蔽・偽装することで、悪意のあるコードが配信されにくくなるので、補助的なセキュリティ対策として明確に効果があります。
また、フィッシング詐欺サイトの場合は、例えば日本の金融機関を狙っているのであれば、ブラウザの言語設定やIPアドレスから日本国内からのアクセスを判定して、それを満たす場合にのみフィッシング詐欺サイトを配信するケースもあります。これもフィッシング詐欺サイトとしてブラウザにブロックされにくくするためです。
最近はターゲット型の攻撃も増えており、報道によると、特定企業や特定団体(政府機関など)のみをターゲットにする例もあるようです。GOM Player のマルウェア配信についても、特定のIPアドレスにのみマルウェアを配信していました。
Webサーバーについても同様で、最近では例えばApache であれば mod_evasive とか mod_dosdetector などのモジュールや、IDS・Webアプリケーションファイアウォールなどを導入するケースが増えているので、昔のように色々な種類・バージョンのサーバソフト向けの攻撃コードを山ほど送り付けたら、あっという間にIPアドレスごとブロックされてしまいます。従って、攻撃ツールも Server Header を見たり、エラーページやレスポンスの特徴から判断したりしてサーバソフトウェア・バージョンを特定してからそれに対応した攻撃コードを送ってきますから、Server(Webサーバ)ヘッダーの隠ぺいも補助的なセキュリティ対策としては有用な状況となりました(振る舞いからサーバOSを特定する方法もあるので完璧な対策とはなりませんが)。
ということで、ブラウザの UserAgent を本来のものとかけ離れたものにすることをお勧めします。ただし、「ご利用のブラウザでは当サイトはご利用になれません」といったページにリダイレクトされる恐れもあるため、初心者にはお勧めできません(そういったメッセージが表示された場合には別のUserAgentにする必要があります)。
Re: (スコア:0)
確かに最近の悪意のあるサイト(埋め込みスクリプト)はUAで処理を分岐するものがよくありますね
ただ,正規サイトも同様のものが多くなってきており,ユーザ側でUA偽装すると仰っているとおり正規サイトでもいろいろ困ることになると思います
身近な例ではAMOやChromeStore,Googleの各種サービスもUA基準で表示や処理を変えています
セキュリティとの天秤にかけた場合に,ベネフィットに比べると不便さの方が強い気がします
あえてUA変えるぐらいなら,ブラウザのアップデートをきちんとするとかNoScript/RequestPolicy/uMatrixなどのアドオンで悪意のあるスクリプトのロードを防ぐとかの方が効果的かなーと
Re: (スコア:0)
ブラウザのアップデートをちゃんとやって、かつUAを変更する。
別に競合する対策じゃないし。
Re: (スコア:0)
UA文字列を変えて状況によって自分で対処するだけのガッツがある人は、そもそも臭いフィッシングサイトには引っ掛からないでしょうから、効果があるのはゼロデイだけです。最近のUA文字列は種類だけを示して型番はないので、リスクとしてはそう変わりません。
Re: (スコア:0)
なんか引用のつき方がおかしいけどSlashcodeのバグ?
Re: (スコア:0)
たんに閉じタグの/を忘れたか消したかで二重に開いちゃっただけでしょう。
Re: (スコア:0)
実際今どきのマルウェア配信サイトはUA見て特定UA狙い撃ちでマルウェアに感染させようとするくらいのことは普通にやるけどね。
最近では窓の杜がやらかした。
http://www.forest.impress.co.jp/docs/news/20150909_720423.html [impress.co.jp]
なんで面白がられてるの (スコア:1)
IEがクラッシュした時は鬼の首でも取ったかのように大騒ぎするくせに
Re:なんで面白がられてるの (スコア:1)
それは私も思いました。
IEと比べてどうかという話は別としても、一般論としては、二重デコードはセキュリティ脆弱性に直結するところなので、笑いごとではないですよね。
今回の件は「URLの有効性チェックに失敗して」とあるところから、二重デコード後にURLの有効性チェックがあるために脆弱性にならないと判断されているようですが、
そもそも二重デコードが発生している時点で何かおかしいのでは。
リンク先を読んでも、なぜ二重デコードしてるのかよくわかりませんでした。
Re: (スコア:0)
これがsecurity issueでないというのもよくわからん。
完全に豪放なURLでクラッシュするんだから、URL文字列に自動リンクするようなタイプの掲示板に大量に投げることで、かなり効果的にDoS攻撃をかけられるだろう。
Googleはどういう基準で判断してるんだ?
Re:なんで面白がられてるの (スコア:1)
情報流出や非可逆な破壊に繋がらないからでしょ
クラッシュだけならブラウザを再起動すれば済むから、それに比べれば被害は小さい
何でもかんでも大袈裟に不安を叫べばいいと思ってる奴は
何が危険で何が危険でないのかわかってない
Re: (スコア:0)
いやいや、
セキュリティバグもクラッシュバグも本質的には変わらないから。
たとえば、オーバフローなんかで想定の領域外にアクセスしたときに、そのまま情報が読み書きできてしまうか、
変な値を拾ってクラッシュするか、程度の違いしかないわけで。
Re: (スコア:0)
> そのまま情報が読み書きできてしまうか、変な値を拾ってクラッシュするか、程度の違いしかないわけで。
それを「程度の違いしかない」で済ませるんだったらあらゆるものに本質的な違いはないね。
>> 何が危険で何が危険でないのかわかってない
まったくこの指摘のとおりだ
Re: (スコア:0)
だからさ、何が本当に危険なのかわかってない奴は議論に加わらなくていいからね
「本質的には変わらない」んじゃなくて、「君が知識不足で区別できていない」だけ。
君の認識不足に他人を巻き込まないでね
Re: (スコア:0)
別に直さないと言ってるわけでもないし、ただセキュリティリスクは低いから修正の優先度は低いよってだけですもんね。
それで口汚く罵ったりするのはどうかと思いますよねえ。ま、知ったかぶりだからこそ罵れるんでしょうけどね。
Re: (スコア:0)
自社利益じゃない?
なにかね、天下とると例外なくクズ企業になるのは企業組織として逃れられない運命なのかね
それともそういうクソ企業にならないと天下取れないのが社会の仕組みなのか
Re: (スコア:0)
資本主義の仕様だから独占は悪として法規制まであるんだよ。
Re: (スコア:0)
あなたの大好きなMicrosoftも単なるクラッシュバグはセキュリティ脆弱性扱いしませんよ。
Re: (スコア:0)
(#2886498)氏は別にMS製品のことには触れていないようですが…。
# 任意コード実行や情報流出の恐れのないクラッシュバグはセキュリティー上は比較的危険性の小さいバグだというのが、MSやセキュリティー対策会社を含めた業界の基本認識だという点は同意。
Re: (スコア:0)
URLは攻撃の口にしやすいところですし
二重デコード等が起こることをあらかじめ想定してもよさそうですが
googleもたいしたことないんですね
まあ、TBもソースコードがあるとテストする気にならないんですかね
Re: (スコア:0)
chromeがクラッシュしたところで誰も困らないからな
Re: (スコア:0)
むしろクラッシュすることで自動的にメモリを開放してくれる親切設計だった・・・?
Re: (スコア:0)
あれ?そんなことありましたっけ?
いつの記事か教えてください。
Re: (スコア:0)
IEのクラッシュでぱっと思いついたのはこれかな?
http://srad.jp/story/07/08/06/1645256/ [srad.jp]
「鬼の首を取ったかのように大騒ぎ」しているかどうかは読者の判断に任せる
Re: (スコア:0)
Re: (スコア:0)
なんにしろ今は昔、はるか遠くに過ぎ去った過去の話ですね。
こんこん問題 (スコア:0)
昔、concon問題ってありましたよね
Re: (スコア:0)
昔、VirtualPCで楽しませていただきました。
#そのブルースクリーンのスクリーンショットを撮って、後輩のPCでフルスクリーン表示にしておいたことがあります。何の疑いもなく、再起動しましたけどね。