Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

POTI-board v2.26.0以前の古いバージョンに存在するXSS脆弱性について #11

Open
satopian opened this issue Nov 14, 2021 · 0 comments

Comments

@satopian
Copy link
Owner

satopian commented Nov 14, 2021

v2.26.0を含むv2.26.0以前のバージョンのPOTI-boardにはXSSの脆弱性があります。

悪意のあるJavaScriptが実行される危険性

javascript:alert('xss');というスクリプトはただ、xssというalertを出すだけで無害です。
しかし、このalertが開く環境では任意のJavaScriptが実行可能です。
POTI-boardのログファイルに格納される時にこのサンプルプログラムはエスケープされて、javascript:alert('xss');となります。
ログファイルに格納する時にエスケープするのは誤りという意見がある事は知っていますが、ここでは触れません。
この値がURL欄に未チェックで出力されると
<a href="javascript:alert(&#039;xss&#039;);" target="_blank">URL</a>
となり、URL欄をクリックした時にJavaScriptが実行されます。
例えばcookieの内容を外部に送信するような悪意のあるJavaScriptも実行可能です。
別タブで開くtarget="_blank"になっているため、ChromeやFirefoxではJavaScriptの実行がブロックされますが、IE11ではJavaScriptが実行される危険があります。

v2.26.1以後のバージョンでは、出力時にURLとして正しいかどうかを検証フィルタに通して調べています。
すでにログファイルにこのJavaScriptが混入していたとしてもURLとして正しくない形式の時は空白を返します。
URL欄には何も表示されません。

POTI-board改 v1.50.9 lot.190115 で行った対策

ここで、URL入力欄にJavaScriptが入らないようにするための入力値の検証を追加しています。
しかし、この対策では不十分です。
入力された値を検証してJavaScriptがURL欄に入らないようにしたとしても、いったん入力されたJavaScriptがログファイルに残っていればそのJavaScriptは実行可能です。

POTI-board改二 v2.26.1 lot.210214.0 で行った対策

出力時にURL欄の値をチェックするようにしました。
検証フィルタに通してURLとして正しくないものは出力しないようにしました。
古いログファイルのURL欄にJavaScriptが入っていても、URLとして正しくない文字列が入っていればURLの値は空白になり、URL欄は表示されません。

@satopian satopian changed the title 古いバージョンに存在するXSS脆弱性について v2.26.0以前の古いバージョンに存在するXSS脆弱性について Nov 14, 2021
@satopian satopian changed the title v2.26.0以前の古いバージョンに存在するXSS脆弱性について POTI-board v2.26.0以前の古いバージョンに存在するXSS脆弱性について Nov 14, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant