アカウント名:
パスワード:
LoadImage() APIの脆弱性ということなので、アイコンやビットマップを表示する部分は全て引っかかるでしょうね。
MUA(メールソフト)が直接表示する場合はもちろんのこと、怪しい添付ファイルをウイルスチェックするためなど、いったん特定のディレクトリなどに保存する行為も該当します(親切なエクスプローラさんが自動的にアイコンを検索し、LoadImage()します)。
LoadImage() API には LR_LOADFROMFILE というフラグがあって外部のファイルから読み込むこともできますし、一口に「アイコン」と言っても固定サイズ(長さ)ではないですよ。
ディスプレイドライバの仕様にも依存しますが、現状のWindowsでサポート(動作確認)されている範囲では最大で72x72ドット、32bitカラーまでありますから、単純計算でも20736バイトあって不正なコードを動かすには十分なサイズでしょう。
また、可変長であるがゆえに最初から決めうちで固定長のアイコンを読み出す仕様にはできません。こういう仕様上の都合も脆弱性を生んだ要因の一つでしょうね。
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
吾輩はリファレンスである。名前はまだ無い -- perlの中の人
理解不足なのですが。 (スコア:1)
そうすると、リソースにアイコンを埋め込んでいるようなアプリをメールで受信した場合、けっこうなメールソフトがそのリソースからアイコン読み込んでアイコンを自動的に表示しますよね。
そこらへんもだめということなんでしょうか。
うーん、だとしたらとんでもないのですが・・・。
Re:理解不足なのですが。 (スコア:3, 参考になる)
LoadImage() APIの脆弱性ということなので、アイコンやビットマップを表示する部分は全て引っかかるでしょうね。
MUA(メールソフト)が直接表示する場合はもちろんのこと、怪しい添付ファイルをウイルスチェックするためなど、いったん特定のディレクトリなどに保存する行為も該当します(親切なエクスプローラさんが自動的にアイコンを検索し、LoadImage()します)。
Re:理解不足なのですが。 (スコア:1)
Re:理解不足なのですが。 (スコア:3, 参考になる)
LoadImage() API には LR_LOADFROMFILE というフラグがあって外部のファイルから読み込むこともできますし、一口に「アイコン」と言っても固定サイズ(長さ)ではないですよ。
ディスプレイドライバの仕様にも依存しますが、現状のWindowsでサポート(動作確認)されている範囲では最大で72x72ドット、32bitカラーまでありますから、単純計算でも20736バイトあって不正なコードを動かすには十分なサイズでしょう。
また、可変長であるがゆえに最初から決めうちで固定長のアイコンを読み出す仕様にはできません。こういう仕様上の都合も脆弱性を生んだ要因の一つでしょうね。
Re:理解不足なのですが。 (スコア:1)
デスクトップアイコンってなんのこと行っているんだろう・・。
Re:理解不足なのですが。 (スコア:1)
# あくまで例
ヘダーにLengthが指定されていてそれ以上のブツがしこまれて、読み込み側がLengthに従わずに全部読み込んでいたらどうなるか想像してみましょう。
# あくまで例
Copyright (c) 2001-2014 Parsley, All rights reserved.
Re:理解不足なのですが。 (スコア:1, 参考になる)
それは普通の人の一般常識の話し
少なくとも常識の通用しないMSには全くそのような事を考えてなかったね。
webにあるアイコンファイルを巨大なものに差し換えるとクラッシュするとかいて話題になって、いつものアップデートで修正された。
Re:理解不足なのですが。 (スコア:0)
# bmp 形式であれば縮小して表示される。
ので、やろうと思えば出来るんじゃないかと。