[하루한줄] CVE-2020-1456 : Unvalidated User Input in MS SharePoint

URL

INSERTION OF MALICIOUS LINKS FOR EXECUTION IN PROFILE PICTURE - UNVALIDATED USER INPUT IN MS SHAREPOINT 2019 (CVE-2020-1456)

Target

  • 2020년 7월 14일 패치 이전 버전
    • Microsoft SharePoint Server 2010 Service Pack 2
    • Microsoft SharePoint Server 2019
    • Microsoft SharePoint Enterprise Server 2013 Service Pack 1
    • Microsoft SharePoint Enterprise Server 2016

Explain

Microsoft SharePoint Server에서 유저 프로필 사진에 임의의 링크를 삽입하여 프로필 사진이 삽입된 페이지를 방문하는 사람들을 모두 공격할 수 있는 취약점이 발견되었습니다. SharePoint는 마이크로소프트 오피스 서버 제품군의 웹 애플리케이션 플랫폼으로 기업이나 조직에서 공동 작업, 정보 제공 등의 협업 사이트 구축에 사용됩니다.

SharePoint의 유저 프로필 설정이 활성화되어 있으면, 사용자는 프로필 사진을 업로드할 수 있습니다. 프로필 사진을 올리고 적용하기 전에 모든 변경 사항을 저장할 수 있습니다. 모든 변경 사항이 저장될 때 POST request로 수행되며 아래와 같이 도메인에 사용자에 대한 변경 사항이 표시됩니다.

URL: http://192.168.0.151/_layouts/15/EditProfile.aspx?UserSettingsProvider=234bf0ed-70db-4158-a332-4dfd683b4148&ReturnUrl=http%3a%2f%2f192.168.0.151%2fPerson.aspx%3faccountname%3d%3C span%20style=%22background-color:%20#fcbd00%22%3Epoint%3C/span%3E%255C%3Cspan%20style=%22background-color:%20#fcbd00%22%3Eshareuser%3C/span%3E&changephoto=1

POST request에는 URL 인코딩 된 형태로 업로드된 프로필 사진의 경로를 포함한 파라미터 ct100$PlaceHolderMain$ProfileEditorEditPricturURL가 포함되어 있습니다.

URL 인코딩 된 파라미터와 값
ctl00%24PlaceHolderMain%24ProfileEditorEditPictureURL=http%3A%2F%2F192.168.0.151%3A80%2FUser%2520Photos%2FProfilbilder%2Fpoint_shareuser_Mthumb.jpg

수정된 파라미터 값
ctl00$PlaceHolderMain$ProfileEditorEditPictureURL=http://123.itsec.de/random.png

POST request를 수정하여 URL 경로를 수정하면 로컬 파일의 경로 대신 수정한 URL 경로가 HTML 이미지 태그의 src 파라미터에 삽입됩니다. 그러면 해당 프로필 사진이 삽입된 페이지를 방문하는 모든 사용자는 백그라운드에서 해당 링크가 열립니다. 해당 취약점을 통해 Denial of Service, Tracking, Internal path disclosure, Obfuscate attacks, Reputation damage 등의 공격을 수행할 수 있습니다.