2017년 9월 12일 화요일

Apache Struts2 원격 코드 실행 취약점 업데이트 권고 (2017.09.07)

 뉴딜코리아 홈페이지 

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

 

댓글 없음:

댓글 쓰기