先日のミッコの記事「PDFとはプロブレマティック・ドキュメント・フォーマットの略なのか?」で触れられていましたが、PDFの仕様により、PDFファイルを開いただけで何の警告もなく任意のコマンドを実行されてしまうことが問題視されていました。これは、仕様策定側と開発者側の意識の違いから生まれた問題だと思います。結局はアプリケーション開発者側が警告を出すように修正するそうですが、PDFの仕様策定者は仕様書を見た開発者がそこまで読み取れると、当初から思っていたのでしょうか。

同じような問題を何度か見たことがあります。
例えば、WindowsサイドバーのガジェットはHTMLやJavaScriptを用いて作成することができます。WindowsですのでおそらくInternet Explorerのセキュリティ設定が引き継がれると思われがちですが、実際にはInternet Explorerの設定とは関係なく、非常に緩いセキュリティ設定で実行されており、PDFのケースと同じようにCMD.EXEを実行することも可能です。IEのセキュリティ設定に守られていると勘違いしたまま設計すると痛い目に遭います。

sidebar

また、JavaのSWTではIEコンポーネントを使って開発することができますが、このときのセキュリティ設定もIEのものが使われるのではなく、非常に緩い設定で動作しますので、やはりCMD.EXEを実行することが可能です。

このような種類の問題は、仕様なのか脆弱性なのかといった言い合いになる場合が多く、なかなか解決にたどり着かないのが厄介なところです。