코드를 대체 할 수있는 Tomcat의 취약점, Ghostcat

유령 고양이

중국 Chaitin Tech 연구원 석방 그들이 식별 한 새로운 발견에 대한 정보 인기있는 서블릿 컨테이너의 취약점 (Java Servlet, JavaServer Pages, Java Expression Language 및 Java WebSocket) 아파치 톰카t (이미 CVE-2020-1938로 나열 됨).

이 취약점 코드 이름 "Ghostcat"이 지정되었습니다. 및 위험 심각도 수준 (9.8 CVSS). 문제 기본 구성에서 요청을 보낼 수 있습니다. 네트워크 포트 8009를 통해 웹 애플리케이션 디렉토리에있는 모든 파일의 내용 읽기, 애플리케이션 소스 코드 및 구성 파일 포함.

이 취약점은 또한 다른 파일을 애플리케이션 코드로 가져올 수 있습니다., 허용 코드 실행 구성 애플리케이션이 파일을 서버에 업로드하도록 허용하는 경우 서버에서.

예를 들면 웹 사이트 응용 프로그램에서 사용자가 파일을 업로드 할 수 있는지 여부, 공격자는 충전 할 수 있습니다 프리메 JSP 스크립트 코드를 포함하는 파일 서버에서 악성 (업로드 된 파일 자체는 이미지, 일반 텍스트 파일 등과 같은 모든 유형의 파일 일 수 있음) 그런 다음 취약성을 악용하여 업로드 된 파일을 포함합니다. 궁극적으로 원격 코드 실행으로 이어질 수 있습니다.

AJP 드라이버를 사용하여 네트워크 포트에 요청을 보낼 수 있으면 공격을 수행 할 수 있다는 것도 언급되었습니다. 예비 데이터에 따르면, 네트워크를 찾았습니다. AJP 프로토콜을 사용하여 요청을 수락하는 1.2 만 개 이상의 호스트.

취약점은 AJP 프로토콜에 존재합니다. 구현 오류로 인한 것이 아닙니다.

HTTP 연결을 수락하는 것 외에도 (포트 8080) Apache Tomcat에서 기본적으로 액세스 할 수 있습니다 웹 응용 프로그램에 AJP 프로토콜 사용 (Apache Jserv 프로토콜, 포트 8009), 더 높은 성능을 위해 최적화 된 HTTP의 이진 아날로그이며 일반적으로 Tomcat 서버에서 클러스터를 만들거나 역방향 프록시 또는로드 밸런서에서 Tomcat과의 상호 작용 속도를 높이기 위해 사용됩니다.

AJP는 서버의 파일에 액세스하는 표준 기능을 제공합니다., 공개 대상이 아닌 파일의 수신을 포함하여 사용할 수 있습니다.

에 대한 액세스는 AJP는 신뢰할 수있는 직원에게만 열려 있습니다.그러나 실제로 기본 Tomcat 구성에서 드라이버는 모든 네트워크 인터페이스에서 시작되었으며 요청은 인증없이 수락되었습니다.

WEB-INF, META-INF의 내용 및 ServletContext.getResourceAsStream () 호출을 통해 반환 된 기타 디렉토리를 포함하여 웹 응용 프로그램의 모든 파일에 액세스 할 수 있습니다. 또한 AJP를 사용하면 웹 애플리케이션에서 사용할 수있는 디렉토리의 모든 파일을 JSP 스크립트로 사용할 수 있습니다.

문제는 6 년 전에 Tomcat 13.x 브랜치가 출시 된 이후로 분명해졌습니다.. Tomcat 자신 외에도 문제는 그것을 사용하는 제품에도 영향을 미칩니다.Red Hat JWS (JBoss Web Server), JBoss EAP (Enterprise Application Platform) 및 Spring Boot를 사용하는 독립형 웹 애플리케이션과 같은.

또한 유사한 취약점이 발견되었습니다 (CVE-2020-1745) Undertow 웹 서버에서 Wildfly 애플리케이션 서버에서 사용됩니다. 현재 다양한 그룹에서 XNUMX 개 이상의 악용 사례를 준비했습니다.

Apache Tomcat은 공식적으로 버전 9.0.31, 8.5.51 및 7.0.100을 출시했습니다. 이 취약점을 수정합니다. 이 취약점을 올바르게 수정하려면, 먼저 Tomcat AJP 커넥터 서비스가 서버 환경에서 사용되는지 확인해야합니다.

  • 클러스터 또는 역방향 프록시를 사용하지 않는 경우 기본적으로 AJP가 사용되지 않는 것으로 판단 할 수 있습니다.
  •  그렇지 않은 경우 클러스터 또는 역방향 서버가 Tomcat AJP Connect 서비스와 통신하고 있는지 확인해야합니다.

또한 언급됩니다 이제 다른 Linux 배포판에서 업데이트를 사용할 수 있습니다. 예 : Debian, Ubuntu, RHEL, Fedora, SUSE.

해결 방법으로 필요하지 않은 경우 Tomcat AJP 커넥터 서비스를 비활성화하거나 (리스닝 소켓을 localhost에 바인드하거나 커넥터 포트 =»8009 ″로 라인을 주석 처리) 인증 된 액세스를 구성 할 수 있습니다.

그것에 대해 더 알고 싶다면 상담 할 수 있습니다. 다음 링크. 


코멘트를 남겨주세요

귀하의 이메일 주소는 공개되지 않습니다. 필수 필드가 표시되어 있습니다 *

*

*

  1. 데이터 책임자 : Miguel Ángel Gatón
  2. 데이터의 목적 : 스팸 제어, 댓글 관리.
  3. 합법성 : 귀하의 동의
  4. 데이터 전달 : 법적 의무에 의한 경우를 제외하고 데이터는 제 XNUMX 자에게 전달되지 않습니다.
  5. 데이터 저장소 : Occentus Networks (EU)에서 호스팅하는 데이터베이스
  6. 권리 : 귀하는 언제든지 귀하의 정보를 제한, 복구 및 삭제할 수 있습니다.