업데이트 : 2017 년 4 월 17 일
Apache Struts 2의 Jakarta Multipart Parser는 "Multipart/Form-Data"를 포함하는 잘못된 HTTP 요청이 컨텐츠 유형 헤더에서 수신되는 경우 임의의 코드 실행을 허용하는 취약성 (CVE-2017-5638)을 가지고 있으며, 이로 인해 불변도를 악용 할 수 있습니다.
보고 된 취약점 (CVE-2017-5638)은 이미 침해 활동에 사용되었으므로 가능한 한 빨리 대책 버전으로 업데이트하십시오.
2017 년 3 월 6 일
Jakarta Multipart Parser의 취약성에 관한 보안 게시판 (S2-045)이 출시되었습니다. 같은 날, 간단한 검증 코드 (1)가 공개되었습니다.
2017 년 3 월 7 일
공격 코드 생성으로 이어지는 검증 코드 (2)가 해제되었습니다.
2017 년 3 월 7 일 10:12 CST
임의의 명령 실행 가능 및 유효성 검사 코드 (3)가 공격에 사용될 수 있습니다.
2017 년 3 월 7 일 06:21 UTC
Metasploit-Framework는 검증 코드 (3)를 기반으로 검증 코드를 공개했습니다.
2017 년 3 월 7 일 15:36 UTC
확인 코드 (3)에 기반한 검증 코드가 릴리스되었습니다.
2017 년 3 월 8 일
토토사이트 벤츠 2.5.10.1, 토토사이트 벤츠 2.3.32가 출시되었습니다.
2017 년 3 월 21 일
Jakarta Multipart Parser의 취약성에 관한 보안 게시판 (S2-046)이 출시되었습니다.
CVE-2017-5638 : Jakarta Multipart Parser의 취약점
CVSSV2 기본 값
CVSS : 2.0/av : n/ac : l/au : n/c : c/i : c/a : c
AV : 공격 소스 분류 = 네트워크
AC : 공격 조건의 복잡성 = 낮음
au : 공격 전에 필요한 인증 = 필요 없음
C : 기밀성에 미치는 영향 (정보 유출 가능성) = 전체 스케일
i : 무결성에 미치는 영향 (정보 변조 가능성) = 전체 규모
A : 가용성에 미치는 영향 (비즈니스 중단 가능성) = 완전히
CVSSV3 기본 값
CVSS : 3.0/av : n/ac : l/pr : n/ui : n/s : c/c : h/i : h/a : h/e : h/rl : o/rc : c
AV : 공격 소스 분류 = 네트워크
AC : 공격 조건의 복잡성 = 낮음
PR : 필수 권한 레벨 = 필요 없음
UI : 사용자 참여 수준 = 필요 없음
S : 예상 충격 범위 = 변경
C : 기밀에 미치는 영향 (정보 유출 가능성) = High
I : 무결성에 미치는 영향 (정보 변조 가능성) = High
A : 가용성에 미치는 영향 (비즈니스 중단 가능성) = High
현재 값 (2017 년 3 월 16 일 기준)
e : 공격 가능성 = 공격하기 쉬운
RL : 사용 가능한 측정 수준 = 공식
RC : 취약성 정보 신뢰성 = 확인
+ cpe :/a : apache : 토토사이트 벤츠 : 2.3.5- cpe :/a : apache : 토토사이트 벤츠 : 2.3.31
+ cpe :/a : apache : 토토사이트 벤츠 : 2.5- cpe :/a : apache : 토토사이트 벤츠 : 2.5.10
Apache Strut에서 실행되는 응용 프로그램이 잘못된 HTTP 요청을 받으면 해당 서버의 임의 코드 실행, 애플리케이션, 데이터 등에 대한 무단 작업이 허용 될 수 있습니다.
Apache 토토사이트 벤츠를 고정 버전으로 업데이트하십시오.
(카운터) 고정 버전에 대한 업데이트
2017 년 3 월 8 일, Apache 토토사이트 벤츠 2.5.10.1 및 토토사이트 벤츠 2.3.32 릴리스가 출시되었습니다.
(Workaround) 컨텐츠 유형 / 컨텐츠-방향 / 콘텐츠 길이 헤더에 "multipart / form-data"가 포함 된 유효하지 않은 요청 차단
공격에 이미 사용 된 컨텐츠 유형 헤더에는 OgnlContext와 같은 문자열이 포함되어 있으므로 이러한 문자열이 포함되어 있으면 잘못된 요청으로 차단됩니다.
[참고]
S2-045는 파서를 jakartamultipartrequest에서 다른 파서로 변경하기위한 해결 방법을 제공합니다 (또한 다중 파트 파서의 다른 구현으로 전환 할 수도 있습니다.). 이 중 우리는 작동 조건에 따라 토토사이트 벤츠 2.3.18 이후 지원되는 Jakartastreammultipartrequest에 대해 우회 할 수있는 공격 방법을 확인했습니다. 따라서 고정 버전으로 업데이트하는 것이 좋습니다.
2017 년 3 월 15 일 : Jakartastreammultipartrequest로 변경하더라도 공격을 수행 할 수 있는지 확인하십시오
2017 년 3 월 16 일 : JPCERT/CC IPA 알림
2017 년 3 월 17 일 : JPCERT-AT-2017-0009의 업데이트를 확인하고 HIRT-PUB17006이 게시되었습니다
2017 년 3 월 21 일 : S2-046과 같은 문제인지 확인하십시오
다음은 Hitachi가 제공하는 Hitachi 제품 및 기타 회사 제품 (표시 *)의 응답 상태입니다.
보안 정보 HIRT-PUB17006이 출시되었습니다.
+ HIRDB CONTROL MANAGER- 서버
HITACHI-SEC-2017-110 : HIRDB 제어 관리자의 취약성 -Server
다음 취약점 식별 번호가 부여됩니다.
jakartastreammultipartrequest 파서로 변경하더라도 공격을 수행 할 수 있음이 확인되었습니다.
확인 환경은 다음과 같습니다.
+ Ubuntu 16.04.1 (Linux 4.4.0-66-Generic)
+ Tomcat 8.0.32
+ 스트럿 2.3.30
HTTP 요청 헤더에서 addHeader ( 'X-Check-토토사이트 벤츠', 'S2-045 취약한 !!') 설정 및 HTTP 응답 헤더가 지정된대로 설정되었습니다.
그림 2 : jakartastreammultipartrequest로 변경할 때 검증 결과
책임 : Terada, Onishi
글로벌 사인 :
중요한 전자 문서의 디지털 서명. 홍보에도 유용합니다