
Atlassian Jira におけるサーバーサイドリクエストフォージェリ (SSRF) を利用した XSS 攻撃。
SSRF & XSS
https://jira.you.com//plugins/servlet/oauth/users/icon-uri?consumerUri=http://www.google.co.uk
Atlassian OAuth Plugin の IconUriServlet は、バージョン 1.3.0 から 1.9.12 未満、およびバージョン 2.0.0 から 2.0.4 未満において、リモートの攻撃者が内部ネットワークリソースのコンテンツにアクセスしたり、Server Side Request Forgery (SSRF) を介して XSS 攻撃を実行したりすることを可能にします。
Atlassian Jira によると、以下のバージョンが脆弱です:
Server-Side Request Forgery (SSRF) 攻撃では、攻撃者はサーバー上の機能を悪用して内部リソースを読み取ったり更新したりすることができます。攻撃者は、サーバー上で実行されるコードが読み取りまたはデータ送信を行うURLを提供または変更できます。そして、URLを注意深く選択することで、攻撃者はAWSメタデータなどのサーバー設定を読み取ったり、HTTP対応データベースなどの内部サービスに接続したり、公開を意図していない内部サービスに対してPOSTリクエストを実行したりすることが可能になる場合があります。
対象アプリケーションには、URLからデータをインポートしたり、URLにデータを公開したり、改ざん可能なURLからデータを読み取ったりする機能がある場合があります。攻撃者は、全く異なるURLを提供したり、URLの構築方法(パス横断など)を操作したりすることで、この機能への呼び出しを変更します。
操作されたリクエストがサーバーに送信されると、サーバー側のコードは操作されたURLを取得し、その操作されたURLに対してデータの読み取りを試みます。攻撃者はターゲットURLを選択することで、インターネットに直接公開されていないサービスからデータを読み取ることができる場合があります:
データベースが内部のみで利用可能と想定されている場合、認証が無効になっている可能性があり、攻撃者はデータを抽出できます。
攻撃者はまた、この機能を使用して、信頼できるソースからのみデータを読み取ることを想定しているコードに信頼できないデータをインポートし、その結果として入力検証を回避する可能性があります。