에퀴팩스 사건의 아파치 스트러츠, 버전 업데이트 권고 2018.11.08

스트러츠 내 커먼스 파일업로드 라이브러리의 2년된 취약점
라이브러리 파일 있는 폴더 찾아 정상 파일로 교체해야...수동 작업 필요


[보안뉴스 문가용 기자] 아파치 소프트웨어 재단(Apache Software Foundation)이 권고문을 발표했다. 커먼스 파일업로드(Commons FileUpload) 라이브러리의 최신 버전에서 2년된 원격 코드 실행 오류가 발견됐다는 내용을 담고 있다. 해당 라이브러리의 사용자라면 수동으로 업데이트를 진행해야 한다.

[이미지 = iclickart]


재단 측에 따르면 이 버그는 치명적인 위험도를 가지고 있으며, CVE-2016-1000031이라는 번호가 이미 붙어 있었던, 알려진 취약점이라고 한다.

커먼스 파일업로드 라이브러리는 웹 애플리케이션 개발에 자주 활용되는 것으로, 자바 프로그래밍 언어 환경에서 사용된다. 이 커먼스 파일업로드 라이브러리에는 자바 객체가 하나 존재하는데, 이 객체를 조작하면 비직렬화 과정이 진행될 때 임의의 위치의 디스크로 파일을 기록하거나 복사할 수 있게 된다.

재단은 권고문을 통해 이 취약점을 원격의 공격자가 익스플로잇 할 경우 시스템 제어 권한을 완전히 가져가는 게 가능하다고 경고하기도 했다. 그러면서 스트러츠 2(Struts 2)의 기본 파일 업로드 원리를 사용하고 있다면 이 취약점에 노출되어 있으며, 현재 이 라이브러리가 포함된 프로젝트가 위험한 상태라고 설명했다.

커먼스 파일업로드 라이브러리를 업데이트 하려면 기존 취약한 버전을 패치가 된 버전으로 대체해야 한다. 만약 취약한 라이브러리 버전으로 애플리케이션이 이미 완성되어 배포가 된 상태라면, 커먼스 파일업로드 jar 파일을 수정된 jar 파일로 교체해야 한다. 이 파일은 WEB-INF/lib에서 찾을 수 있다.

취약한 버전의 라이브러리는 아파치 스트러츠 2.3.36 혹은 그 이전 버전들에서 주로 사용됐다고 재단 측은 설명하고 있다. 취약하지 않은 커먼스 파일업로드 라이브러리의 버전은 1.3.3이다.

아파치 스트러츠의 취약점이라고 하면 대표적으로 떠오르는 게 CVE-2017-5638이다. 이 취약점은 2017년에 발생한 에퀴팩스(Equifax) 유출 사고의 직접적인 이유가 되기도 했다. 이 사건으로 미국인 1억 4천 3백만 명의 개인정보가 외부로 새나갔다.

또한 보다 최근인 지난 3월에는 커먼스 파일업로드 라이브러리에서 비직렬화 취약점이 발견되기도 했다. 이 문제는 10월에 스트러츠 2.3.36 버전이 새롭게 나오면서 해결됐다. 그 바로 직전인 8월에는 아파치 스트러츠 2에서 원격 코드 실행 취약점이 공개된 바 있다.

SANS 인스티튜트의 요하네스 울리히(Johannes Ullrich)는 스트러츠 버전을 업그레이드 하는 건 수동적인 작업을 요구한다고 자신의 블로그를 통해 설명한다. 즉, 커먼스 파일업로드 라이브러리 파일을 사용자가 직접 삭제하고, 새로운 파일을 삽입해야 한다는 것이다.

대신 이렇게 수동으로 라이브러리를 찾아 바꾸는 것에는 나름의 좋은 점이 있다고 그는 짚었다. 바로 다른 폴더에 취약한 버전의 커먼스 파일업로드 라이브러리가 있는지 확인할 수 있다는 것이다. “그 라이브러리를 사용하는 건 스트러츠만이 아닙니다. 다른 프레임워크 등에서도 사용되고 있습니다.”

3줄 요약
1. 아파치 스트러츠의 커먼스 파일업로드 라이브러리에는 2년된 취약점 있음.
2. 이 취약점 해결한 1.3.3 버전이 나옴.
3. 커먼스 파일업로드 라이브러리에 해당하는 jar 파일을 사용자가 직접 삭제하고, 새 파일을 저장해야 함.

[국제부 문가용 기자(globoan@boannews.com)]

<저작권자: 보안뉴스(www.boannews.com) 무단전재-재배포금지>


[카드뉴스] 애플에 보관된 내 개인정보 확인하는 방법

미국 주방위군, 중간선거 보호하기 위해 경계 근무 중