形式上対策が取られて実質的に影響が少ないのと既にIPAへの届出から2年以上経過していることから発表することにしました。なお、タイトルは「あった」という過去形にしていますが、根本的な対策が取られたかどうかの確認は出来ていませんので現在も脆弱性が残っている可能性があることは注記させて頂きます。

弊社代表は2012年11月23日にMakeshopのデモサイトについてクロスサイトスクリプティング脆弱性があること、および、本番サイトについてもエスケープ不十分でクロスサイトスクリプティング脆弱性の可能性があることを発見し、IPAに対して届出を致しました。届出は2012年11月29日に受理され取り扱いが開始されています。

デモサイトで確認した状況は以下の画像の通りで、デモサイトの編集ページで住所欄に入れたJavaScriptがデモサイトの閲覧ページにて実行されてしまっています。これは、そもそも論としてHTMLタグを入れるべきではない所でもHTMLタグを受け付けてしまうことが問題なのですが、何よりもエスケープ不十分であることが問題であると言って良いでしょう。

XSS-20121123-2

XSS-20121123-1

その後、密かにデモサイトの編集画面と閲覧画面の関連性は切り離され実質的にデモサイトとして機能しない形を取ることでクロスサイトスクリプティング脆弱性を回避されていました。非常に後ろ向きな対応と言って良いと思います。その為、先に指摘したエスケープ不十分という問題、および、そもそもHTMLタグを入れるべきではない所でもHTMLタグを受け付けてしまうという根本的な問題の解決は一切されませんでした。

ちなみに、この後ろ向きな対応による修正完了連絡は2013年3月21日に頂いています。

ただ、根本的な対応がなされていないことから本番サイトにて以下の図ような現象が発生することもあり、問題の解決はされてない旨IPAに返答し取り扱い継続となっていました。

Makeshop-XSS-1

Makeshop-XSS-1a

Makeshop-XSS-1b

Makeshop-XSS-1c

Makeshop-XSS-1d

Makeshop-XSS-1e

ちなみに、この段階でのMakeshop側からの回答は「CMSなんだからHTMLタグを全て受け入れるのは当たり前」というふざけた回答だったようですが、IPA側で「HTMLタグ入力不要な部分でのHTMLタグ入力を拒否すべきである」との助言をして頂いたようです。その助言を受けてMakeshop側から「HTMLタグ入力不要な部分でのHTMLタグ入力を拒否する改修を行う」旨の回答を頂いたと2013年10月28日に連絡を受けました。

その後、音沙汰無しになったのと多忙にかまけて放置していたのですが、さすがに1年以上経過してしまったため2014年12月6日にIPAに状況の問い合わせをしました。それに関してはMakeshop側から今後対応するとの回答を2014年12月22日に頂いています。ただ、さすがに1年以上前の回答から「何も対策されていないことは流石に無いだろう」という事で、2015年2月末を区切りとして公開する旨IPAに伝え(IPAからは修正されるまで公開しないよう念を押されました)、その意向をMakeshop側に伝えて頂けると伺っております。

それを受けてのMakeshop側からの回答は2015年2月末までに無かった事から、本日、公開に踏み切ることに致しました。

なお、最初に述べたとおり対策が取られたかどうかの確認は出来ておりませんので、Makeshop側からお約束頂いた改修が行われていない可能性も十分ありますので、決して悪用なさらないようにお願いしたいと思います。

ちなみに、通常通り作成されたMakeshopの出店者のページに関してクロスサイトスクリプティング脆弱性があるという話ではありません。不正に編集画面に侵入し意図的に改竄しない限りは、実質的に問題のクロスサイトスクリプティング脆弱性が発動することはないと考えております。そういったことも踏まえた上で公開に至ったことを書き添えておきます。