[CVE-2020-14181] Jira Server ViewUserHover 정보 유출 침해사고분석팀 2021.01.04 |
|
Atlassian Jira Server and Data Center에 정보 유출 취약점이 존재합니다.
해당 취약점은 ViewUserHover 클래스에 doExecute 메서드가 구현되어 있지 않기 때문에 발생합니다.
현재 사용자가 인증되었는지 확인하기 위해 ViewUserHover클래스의 doExecute 메서드가 호출되지만, 해당 메서드가 ViewUserHover에 구현되어 있지 않기 때문에 상위 클래스에서 doExecute 메서드가 호출됩니다.
하지만 여기서 적절한 검사가 이루어지지 않아 항상 success가 호출되며, 원격의 공격자는 대상 서버에 요청을 보냄으로써 사용자 존재 여부를 확인할 수 있습니다.
공격 성공 시 정보 유출이 발생할 수 있습니다.
취약점 설명 NVD - CVE-2020-14181 Base Score: 5.0 MEDIUM
[그림1. NVD 내역]
취약점 분석
JIRA는 Webwork 웹 애플리케이션 프레임 워크를 사용하여 URL을 Java 클래스에 매핑하고 [.]jspa로 끝나는 URL을 만듭니다.
이는 JIRA WEB-INF의 actions[.]xml 파일에 정의되어 있으며, 각 잡업 항목에는 부분 패키지 이름과 작업 클래스를 정의하는 이름 속성이 포함됩니다.
[그림 2. action.xml 파일 일부]
user[.]ViewProfile 클래스의 doExecute 메서드는 ViewProfile[.]jspa에 대한 요청을 처리하고 "success", "contentonly", "json" 등과 같은 값을 반환합니다.
하지만 actions[.]xml에 있는 ViewUserHover 클래스에는 doExecute 메서드가 없기 때문에 상위 클래스에서 해당 메서드를 실행하게 되는데, 이 때 항상 "success'를 반환하게 되므로 인증되지 않은 사용자를 허용해 정보 유출 취약점이 발생하게 됩니다.
인증되지 않은 원격의 공격자는 ViewUserHover 호출 요청을 보내 이 취약점을 악용할 수 있습니다.
취약한 버전은 5.5.4 ~ 5.6.2 버전이며, 제조사는 해당 취약점을 패치한 후 업데이트를 공개하였습니다.
[그림 3. 공격 패킷]
취약점 대응 방안
1. 최신 버전 사용
해당 벤더사가 발표한 보안 권고문을 참고하여 최신의 버전으로 업데이트한다. https://jira.atlassian.com/browse/JRASERVER-71560
2. WINS Sniper 제품군 대응 방안
Atlassian Jira Server ViewUserHover Information Disclosure
|