티스토리 뷰

728x90
반응형

[CVE 취약점] Apache Tomcat AJP 원격코드 실행 취약점(CVE-2020-1938)


참조

https://github.com/Kit4y/CNVD-2020-10487-Tomcat-Ajp-lfi-Scanner/blob/master/CNVD-2020-10487-Tomcat-Ajp-lfi.py

https://github.com/nibiwodong/CNVD-2020-10487-Tomcat-ajp-POC/blob/master/poc.py

https://github.com/xindongzhuaizhuai/CVE-2020-1938/blob/master/CVE-2020-1938.py


Poc 패킷 생성

{'name': 'req_attribute', 'value': ['javax.servlet.include.request_uri', '/']},
{'name': 'req_attribute', 'value': ['javax.servlet.include.path_info', args.file]},
{'name': 'req_attribute', 'value': ['javax.servlet.include.servlet_path', '/']},


WEB-INF/web.xml 파일 요청


개요

Apache Tomcat에서 신규 취약점을 해결한 보안 업데이트 발표

취약한 버전을 사용 중인 서버의 담당자는 해결 방안에 따라 최신 버전으로 업데이트 권고

  ※ Apache Tomcat : 오픈소스 기반 웹 어플리케이션 서버


AJP 사용 시, AJP 요청 메시지에 대한 처리가 미흡하여 발생하는 원격코드실행 취약점(CVE-2020-1938)

   ※ AJP(Apache JServ Protocol) : 웹서버와 어플리케이션 서버 간 연결 요청을 전달하는 프로토콜로 웹 서버의 모니터링 기능 지원

HTTP 헤더 파싱 처리가 미흡하여 발생하는 HTTP Request Smuggling 취약점(CVE-2019-17569, CVE-2020-1935)


영향 받는 제품 버전

Apache Tomcat

- 9.0.0.M1 ~ 9.0.30

- 8.5.0 ~ 8.5.50

- 7.0.0 ~ 7.0.99

  ※ AJP 포트에 신뢰되지 않은 사용자가 접근 가능한 경우에만 영향 받음


방안

각 버전에 해당되는 페이지를 참고하여 최신 버전으로 업데이트 적용

- 7.0.100 이상 버전

- 8.5.51 이상 버전

- 9.0.31 이상 버전


Snort  

alert tcp any any -> any 8009 (sid:1; gid:1;
content:"javax|2E|servlet|2E|include|2E|request_uri"; nocase; rawbytes;
msg:"Apache Tomcat AJP_CVE-2020-1938";
)





728x90
반응형
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
250x250