Apache Struts2 원격 코드 실행 취약점 업데이트 권고
(2017.09.07)
□ 개요
o Apache Struts2에서 임의 코드 실행이 가능한 취약점이 발견
(1) CVE-2017-9805(Apache Struts): Possible Remote Code Execution attack using REST plugin
- REST 플러그인을 이용한 원격 코드 실행 공격 가능
> Apache Struts REST Plugin은 형식 필터링없이 역 직렬화를 위해 XStream 인스턴스와 함께 XStreamHandler를 사용하며 XML 페이로드를 역 직렬화 할 때 원격 코드 실행으로 이어질 수 있습니다.
> Available Exploits : Apache Struts 버전 2.1.2 - 2.3.33 및 Struts 2.5 - REST 플러그인을 사용하는 Struts 2.5.12는 XStream 라이브러리의 Java 비 직렬화 공격에 취약합니다.
- XSL 핸들러와 함께 Struts REST 플러그인을 사용하여 XML 페이로드를 처리 할 때 가능한 원격 코드 실행 공격
- XML 요청을 직렬화 해제하기 위해 XStream 처리기와 함께 Struts REST 플러그인을 사용할 때 RCE 공격이 가능합니다
[참고 사이트]
- https://struts.apache.org/docs/s2-052.html
- https://www.rapid7.com/db/vulnerabilities/struts-cve-2017-9805
- https://www.rapid7.com/db/modules/exploit/multi/http/struts2_rest_xstream
- https://access.redhat.com/security/cve/cve-2017-9805
(2) CVE-2017-12611: Possible Remote Code Execution via Freemarker tags
- Freemarker 태그를 통한 원격 코드 실행
> Freemarker 태그에서 표현식 리터럴이나 표현식을 사용하고 요청 값을 사용하면 RCE 공격이 가능합니다.
> Freemarker 태그의 value 속성은 수정할 수있는 리터럴이나 표현식에 의해 초기화되도록 구성하면 안됩니다. ( Freemarker는 원격 실행 유도하는 코드 표현으로 취급합니다.)
> 문자열 리터럴 대신 Freemarker 태그에서 의도하지 않은 표현식을 사용할 때 원격 코드 실행 공격
> 개발자가 Freemarker 태그에서 잘못된 구성을 사용하는 경우 RCE 공격이 가능합니다.
[참고 사이트]
- https://struts.apache.org/docs/s2-053.html
- https://www.rapid7.com/db/vulnerabilities/struts-cve-2017-12611
- https://access.redhat.com/security/cve/cve-2017-12611
o 취약한 버전을 사용 중인 서버의 담당자는 악성코드 감염 등의 위험이 있으므로 아래 해결 방안에 따른 조치 권고
□ 내용
o Struts REST 플러그인을 사용하여 XML 페이로드를 처리할 때 발생하는 원격 코드 실행 취약점(CVE-2017-9805)
※ REST 플러그인은 XStreamHandler 유형 필터링 없이 직렬화를 위해 XStream의 인스턴스와 함께 사용
o FreeMarker 태그의 잘못된 구성으로 사용할 때 요청 값에 원격 코드 실행이 가능한 취약점(CVE-2017-12611)
※ FreeMarker : 텍스트를 출력하는 템블릿 엔진으로 JAVA 클래스 형태로 배포된 개발자 도구
□ 영향을 받는 제품 및 버전
o CVE-2017-9805
- Apache Struts 2.1.2~2.3.33
- Apache Struts 2.5~2.5.12
o CVE-2017-12611
- Apache Struts 2.0.1~2.3.33
- Apache Struts 2.5~2.5.10
□ 해결 방안
o CVE-2017-9805
- 취약점에 영향을 받지 않는 버전으로 업데이트 수행(Apache Struts 2.5.13, Apache Struts 2.3.34)
> https://struts.apache.org/docs/version-notes-2513.html
> https://struts.apache.org/docs/version-notes-2334.html
- Struts Rest 플러그인을 사용하지 않는 경우 삭제
o CVE-2017-12611
- 취약점에 영향을 받지 않는 버전으로 업데이트 수행(Apache Struts 2.5.12, Apache Struts 2.3.34)
> https://struts.apache.org/docs/version-notes-2512.html
> https://struts.apache.org/docs/version-notes-2334.html
□ 기타 문의사항
o 한국인터넷진흥원 인터넷침해대응센터: 국번없이 118
o 뉴딜코리아 솔루션사업부 (070-7867-3721, ismsbok@gmail.com)
☞ 뉴딜코리아 고객사에서는 Apache Struts 버전 확인 후 연락 주시면 무상 기술 지원을 받을 수 있습니다 !!!!
[참고사이트]
[1] http://cafe.naver.com/rapid7/2992
댓글 없음:
댓글 쓰기