LoginSignup
1
1

More than 5 years have passed since last update.

(修正済み)BracketsのMinimapプラグインにXSS脆弱性

Last updated at Posted at 2015-09-05

修正済みの脆弱性です

いつの間にかCloseされていたので完全に見落としていましたが修正されていたようです!
https://github.com/zorgzerg/brackets-minimap/blob/master/CHANGELOG.md#326-12022016

Brackets の Minimap プラグインにXSSの脆弱性がありました

ブラウザベースのエディタなのでJavaScriptのエスケープはしっかりしないと怖いですねー。偶然の産物ですが見つけてしまいましたので報告してきましたダサい英語で恥ずかしい。丸一日経って反応なかったのでこっちにも書いておきます。

※追記:2015/09/07 15時頃にご確認いただけました

ざっと実装見た限り、HTMLファイルとして開いた時はエスケープがしっかりされているけど text/plain として開いた時はエスケープしない動きのようでした。これが動いたってだけで他にどこまでできるのか試していないのでわかりませんが、できちゃまずいよねという。

できそうなところを試してみた

Javascript の alert() を実行
いかにもなXSSができますね。改行していると動作しないようです。

hoge.txt
<script>alert(document.cookie);</script>

↓こちらは動作せず
<script>
alert(document.cookie);
</script>

b6b1562ae37705f315fabd3cfbca1298.png

location.href に手を出してみる
下記のスクリプトはBracketsをクラッシュさせます。別のエディタで消すなりシンタックスエラーを起こさせるなりしないと、Bracketsが開いたファイルを覚えているので再起動しても即クラッシュしてしまいます。

location.txt
<script>location.href=''</script>

ff37137735297de2e7e73557555f2fdd.png

location.href がいじれたということは...
下記のスクリプトは開いた瞬間に otherfile を勝手に読み出します。スクリーンショットの例では otherfile が勝手に読み込まれ、更に中身の alert() が実行されています。

location.txt
<script>location.href='file:///path/to/otherfile'</script>
otherfile
<script>alert('Other File!');</script>

47955f57f095f7e0fba5fe531807612c.png

さいごに

Minimap のプラグイン自体はとても使いやすくて素晴らしいプラグインですので、より良いものになってもらえたらいいですね。

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1