1. Confluence 

- 아틀라시안(Atlassian)에서 개발한 자바 기반의 소프트웨어

- 팀원들이 효율적으로 지식을 공유하고 협업할 수 있는 도구

 

2. 취약점

[사진 1] https://nvd.nist.gov/vuln/detail/CVE-2017-7415

- Atlassian Confluence에서 원격 공격자가 인증을 우회하여 자원에 접근 가능한 취약점

영향받는 버전
6.0.0 <= Atlassian Confluence < 6.0.7

 

2.1 원인

- Exploit 코드

- 공격자들은 diff REST 리소스를 악용함

※ [사진 1]에서 초안 diff REST 리소스의 사용으로 발생한 것으로, 초안은 Default를 의미하는 것으로 판단됨.

rest/tinymce/1/content/<Page ID>/draft/diff

 

- 취약한 버전의 diff REST 리소스를 확인해보면, 익명의 사용자가 해당 경로에 액세스 할 수 있음을 확인 가능함

- 해당 자원에 접근하는 사용자에대한 권한 검증이 존재하지 않음.

※ 경로 : confluence_editors_6.0.6_plus_6.0.7\confluence-editor-6.0.6_source_from_cfr\com\atlassian\confluence\tinymceplugin\rest\PageResource.java

[사진 2] 취약한 버전(6.0.6)의 diff REST

 

- 공격자들은 rest/tinymce/1/content/<Page ID>/draft/diff URL을 통해 인증없이 Confluence의 모든 블로그 및 페이지의 현재 콘텐츠에 접근 가능

[사진 3] Exploit 예시

3. 대응방안

3.1 서버측면

① 벤더사에서 제공하는 최신 버전으로 업데이트 적용

- Confluence를 버전 6.1.0 이상으로 업그레이드 권장

 

② Confluence 6.1.0 버전으로 업데이트가 불가한 경우

- Confluence 6.0.X 실행 중이며, 최신 버전 업그레이드가 불가할 경우 6.0.7로 업그레이드

- permissionManager.hasPermission()를 통한 권한 검증 추가

- 사용자에게 권한이 없을 경우 NOT_FOUND(404 Error) 반환

※ 경로 : confluence_editors_6.0.6_plus_6.0.7\confluence-editor-6.0.7_source_from_cfr\com\atlassian\confluence\tinymceplugin\rest\PageResource.java

[사진 4] 6.0.7 diff REST

 

③ 기타 방안

- 공동 편집 기능 비활성화

[사진 5] 공동 편집 기능 비활성화 방법

3.2 네트워크 측면

① 탐지 정책 설정 및 적용

 

4. 참고

https://nvd.nist.gov/vuln/detail/CVE-2017-7415

https://github.com/allyshka/exploits/blob/c1f5f0dfa2494001e7c3cffabfbf0219b0e35e08/confluence/CVE-2017-7415/README.md

https://jira.atlassian.com/browse/CONFSERVER-52222

https://packetstormsecurity.com/files/142330/Confluence-6.0.x-Information-Disclosure.html

https://confluence.atlassian.com/doc/confluence-security-advisory-2017-04-19-887071137.html

+ Recent posts