KISA에 WebLogic 원격실행이 가능한 보안취약점 업데이트 권고 공지가 있다.
(https://www.boho.or.kr/data/secNoticeView.do?bulletin_writing_sequence=26948)
취약한 WebLogic 버전
- 10.3.3.0
- 10.3.6 0
- 12.2.1.1
- 12.2.1.2
- 12.1.3.0
취약점 설명
Oracle WebLogic Server WLS Security 구성 요소에서 부적절한 사용자 입력 값 처리로 인해 인증되지 않은 공격자가 WebLogic의 권한으로 원격 코드 실행이 가능한 취약점(CVE-2017-10271)
아래와 같이 http://{host}/wls-wsat/CoordinatorPortType URL을 이용하여 원격코드를 실행하는 요청을 보낼 수 있다.
(원격코드를 실행하여 암호화폐 채굴프로그램을 실행하는 이슈가 있다고 한다.)
패치방법
(아래의 방법중 편한 방법을 골라서 사용하면 된다. 3번이 가장 쉬움)
1. wls-wsat 컴포넌트 URL 웹방화벽 차단
- /wls-wsat/*
2. wls-wsat 컴포넌트 삭제
# 아래와 같이 wls-wsat 컴포넌트 검색
1004lucifer@WAS01:/app>$ find /app/wls1036 -name *wls-wsat*/app/wls1036/wlserver_10.3/server/lib/wls-wsat.war
/app/wls1036/domains/domain/servers/portal/tmp/_WL_internal/wls-wsat
/app/wls1036/domains/domain/servers/portal/tmp/.internal/wls-wsat.war
/app/wls1036/domains/domain/servers/admin/tmp/_WL_internal/wls-wsat
/app/wls1036/domains/domain/servers/admin/tmp/.internal/wls-wsat.war
1004lucifer@WAS01:/app>$
1004lucifer@WAS01:/app>$
# 검색결과의 wls-wsat 컴포넌트 삭제
1004lucifer@WAS01:/app>$ rm -rf /app/wls1036/wlserver_10.3/server/lib/wls-wsat.war
1004lucifer@WAS01:/app>$ rm -rf /app/wls1036/domains/domain/servers/portal/tmp/_WL_internal/wls-wsat
1004lucifer@WAS01:/app>$ rm -rf /app/wls1036/domains/domain/servers/portal/tmp/.internal/wls-wsat.war
1004lucifer@WAS01:/app>$ rm -rf /app/wls1036/domains/domain/servers/admin/tmp/_WL_internal/wls-wsat
1004lucifer@WAS01:/app>$ rm -rf /app/wls1036/domains/domain/servers/admin/tmp/.internal/wls-wsat.war
1004lucifer@WAS01:/app>$
1004lucifer
3. wls-wsat 컴포넌트 비활성화 옵션 추가
-Dweblogic.wsee.wstx.wsat.deployed=false
# setDomainEnv.sh 파일을 설정하거나 본인이 알고있다면 다른 쉘스크립트를 수정해도 된다.
# $DOMAIN_HOME/bin/setDomainEnv.sh 파일 수정
1004lucifer@WAS01:/app/wls1036/domains/domain/bin>$ vi setDomainEnv.sh
... (생략)
JAVA_PROPERTIES="${JAVA_PROPERTIES} ${WLP_JAVA_PROPERTIES}"
export JAVA_PROPERTIES
JAVA_OPTIONS="${JAVA_OPTIONS} ${JAVA_PROPERTIES} -Dwlw.iterativeDev=${iterativeDevFlag} -Dwlw.testConsole=${testConsoleFlag} -Dwlw.logErrorsToConsole=${logErrorsToConsoleFlag}"
JAVA_OPTIONS="-Dweblogic.wsee.wstx.wsat.deployed=false ${JAVA_OPTIONS}"
export JAVA_OPTIONS
... (생략)
1004lucifer@WAS01:/app/wls1036/domains/domain/bin>$
# $DOMAIN_HOME/bin/setDomainEnv.sh 파일 수정
1004lucifer@WAS01:/app/wls1036/domains/domain/bin>$ vi setDomainEnv.sh
... (생략)
JAVA_PROPERTIES="${JAVA_PROPERTIES} ${WLP_JAVA_PROPERTIES}"
export JAVA_PROPERTIES
JAVA_OPTIONS="${JAVA_OPTIONS} ${JAVA_PROPERTIES} -Dwlw.iterativeDev=${iterativeDevFlag} -Dwlw.testConsole=${testConsoleFlag} -Dwlw.logErrorsToConsole=${logErrorsToConsoleFlag}"
JAVA_OPTIONS="-Dweblogic.wsee.wstx.wsat.deployed=false ${JAVA_OPTIONS}"
export JAVA_OPTIONS
... (생략)
1004lucifer@WAS01:/app/wls1036/domains/domain/bin>$
4. patch v171017 이상 버전의 패치로 업데이트 한다.
(10.3.5이하는 10.3.6으로 업데이트 후 패치)
- 링크: 웹로직 Patch 설치/제거/확인 방법 (BSU 이용)
(아래의 패치링크는 Oracle 계약이 되어있는계정만 내용이 보여지며 일반 개인계정은 내용을 볼수 없다.)
Product Home
|
Patch
|
Advisory Number
|
Comments
|
WebLogic Server 12.2.1.2 home
|
WLS PSU 12.2.1.2.171017 Patch 26485996
|
CVE-2017-10271, CVE-2017-10336, CVE-2017-10352, CVE-2017-10334
|
Fix for CVE-2017-5638 and CVE-2017-9805 is not included in the WLS PSU patches. See Note 2255054.1, "Oracle WebLogic Server Requirements for Apache Struts 2 and CVE-2017-5638 / CVE-2017-9805"
|
WebLogic Server 12.2.1.1 home
|
WLS PSU 12.2.1.1.171017 Patch 26519400
|
CVE-2017-10271, CVE-2017-10336, CVE-2017-10352, CVE-2017-10334
|
Fix for CVE-2017-5638 and CVE-2017-9805 is not included in the WLS PSU patches. See Note 2255054.1, "Oracle WebLogic Server Requirements for Apache Struts 2 and CVE-2017-5638 / CVE-2017-9805"
|
WebLogic Server 12.1.3.0 home
|
WLS PSU 12.1.3.0.171017 Patch 26519417
|
CVE-2017-10271, CVE-2017-10336, CVE-2017-10152, CVE-2017-10352, CVE-2017-10334
|
Fix for CVE-2017-5638 and CVE-2017-9805 is not included in the WLS PSU patches. See Note 2255054.1, "Oracle WebLogic Server Requirements for Apache Struts 2 and CVE-2017-5638 / CVE-2017-9805"
|
WebLogic Server 10.3.6.0 home
|
WLS PSU 10.3.6.0.171017 Patch 26519424
|
CVE-2017-10271, CVE-2017-10336, CVE-2017-10152, CVE-2017-10352, CVE-2017-10334
|
See Note 1607170.1, SSL Authentication Problem Using WebLogic 10.3.6 and 12.1.1 With JDK1.7.0_40 or Higher
Fix for CVE-2017-5638 is not included in the WLS PSU patches. See Note 2255054.1, "Upgrade Apache Struts 2 to Version 2.3.32 for WebLogic Code Example" |
10.3.6은 아래 이미지의 Patch ID로 확인해도 좋다.
(빨간 네모박스의 Patch ID 적용하면 취약점 패치가 된다.)
검증
조치 후 WebLogic 재기동 후 wls-wsat URL 접속하여 페이지가 나오지 않는것을 확인한다.
http://{host}/wls-wsat/CoordinatorPortType
참고
- http://genes1s.egloos.com/3079282
- http://securityse.tistory.com/88
- https://community.oracle.com/thread/4091882
- https://support.oracle.com/knowledge/Middleware/1523009_1.html
댓글
댓글 쓰기