evernote.comにあったDOM Based XSS
先日evernote.comのコードを見ていたら変わった箇所を見つけまして
url中にstage
が含まれているときだけ実行される処理です。試しに実際に実行してみるとステージング環境であることを示す警告文が表示されます。
コード中で変数j
にdocument.URL
の値が代入されていますが、この値がエスケープされずにhtmlが組み立てられています。document.URL
(やlocation.href
)の値がパーセントエンコードされているかはブラウザによって違いまして、chromeからアクセスしてやるとこうなります。
XSSですね。
evernoteは脆弱性情報窓口が設けられいる( セキュリティ問題の報告 | Evernote)のでそちらから報告しました。次の日には返答があって、数日後には修正がリリースされていました。