Ghostcat, la vulnerabilitat en Tomcat que pot substituir codi

ghostcat

Investigadors de Chaitin Tech, la Xina van donar a conèixer informació sobre un nou descobriment, ja que han identificat una vulnerabilitat en el popular contenidor de servlets (Java Servlet, JavaServer Pages, Java Expression Language i Java websocket) Apache Tomcat (ja catalogada com CVE-2020-1938).

aquesta vulnerabilitat se'ls va assignar el nom codi "Ghostcat" i un nivell de gravetat crític (9.8 CVSS). el problema permet a la configuració per defecte enviar una sol·licitud a través del port de xarxa 8009 per llegir el contingut de qualsevol arxiu de directori de l'aplicació web, Inclosos els arxius de configuració i els codis font de l'aplicació.

La vulnerabilitat també permet importar altres arxius en el codi de l'aplicació, El que permet organitzar l'execució de el codi al servidor si l'aplicació permet que els arxius es carreguin al servidor.

Per ejempl, si l'aplicació del lloc web permet als usuaris carregar arxius, un atacant pot carregar 1 un arxiu que contingui codi de script JSP maliciós al servidor (l'arxiu carregat en si mateix pot ser qualsevol tipus d'arxiu, com imatges, arxius de text pla, etc.) i després inclogui l'arxiu carregat explotant la vulnerabilitat de Ghostcat, que finalment pot resultar en l'execució remota de codi.

També s'esmenta que es pot realitzar un atac si és possible enviar una sol·licitud a un port de xarxa amb un controlador AJP. Segons dades preliminars, La xarxa va trobar més d'1.2 milions d'hosts que accepten sol·licituds utilitzant el protocol AJP.

La vulnerabilitat està present en el protocol AJP i no és causada per un error d'implementació.

A més d'acceptar connexions HTTP (Port 8080) a Apache Tomcat, per defecte és possible accedir a l'aplicació web utilitzant el protocol AJP (Protocol Apache Jserv, port 8009), que és un anàleg binari de HTTP optimitzat per aconseguir un major rendiment, que generalment s'usa a l'crear un clúster des de servidors Tomcat o per accelerar la interacció amb Tomcat en un proxy invers o equilibrador de càrrega.

AJP proporciona una funció estàndard per accedir als arxius al servidor, Que pot usar-se, inclosa la recepció d'arxius que no estan subjectes a divulgació.

S'entén que l'accés a AJP està obert només a servidors de confiança, Però de fet, en la configuració per defecte de Tomcat, el controlador es va llançar en totes les interfícies de xarxa i les sol·licituds es van acceptar sense autenticació.

L'accés és possible a qualsevol arxiu de l'aplicació web, inclosos els continguts de WEB-INF, META-INF i qualsevol altre directori retornat a través de l'anomenada ServletContext.getResourceAsStream (). AJP també li permet utilitzar qualsevol arxiu en directoris disponibles per a una aplicació web com un script JSP.

El problema ha estat evident des que es va llançar la branca Tomcat 6.x fa 13 anys. A més de l'propi Tomcat, el problema també afecta els productes que l'utilitzen, Com Red Hat JBoss Web Server (JWS), JBoss Enterprise Application Platform (EAP), així com a aplicacions web autònomes que utilitzen Spring Boot.

També es va trobar una vulnerabilitat similar (CVE-2020-1745) a la web Undertow utilitzat en el servidor d'aplicacions Wildfly. Actualment, diversos grups han preparat més d'una dotzena d'exemples de treball de gestes.

Apache Tomcat ha llançat oficialment les versions 9.0.31, 8.5.51 i 7.0.100 per corregir aquesta vulnerabilitat. Per corregir aquesta vulnerabilitat correctament, Primer s'ha de determinar si el servei Tomcat AJP Connector s'usa en el seu entorn de servidor:

  • Si no es fa servir clúster o servidor intermediari invers, bàsicament es pot determinar que no s'usa AJP.
  •  En cas contrari, s'ha d'esbrinar si el clúster o el servidor invers s'està comunicant amb el servei Tomcat AJP Connect

També s'esmenta que ja estan disponibles les actualitzacions en les diferents distribucions de Linux com: Debian, Ubuntu, RHEL, Fedora, SUSE.

Com a solució alternativa, es pot desactivar el servei Tomcat AJP Connector (vincular el sòcol d'escolta a localhost o comentar la línia amb Connector port = »8009"), si no és necessari o configurar accés autenticat.

Si vols conèixer més a l'respecte pots consultar el següent enllaç. 


Deixa el teu comentari

La seva adreça de correu electrònic no es publicarà. Els camps obligatoris estan marcats amb *

*

*

  1. Responsable de les dades: Miguel Ángel Gatón
  2. Finalitat de les dades: Controlar l'SPAM, gestió de comentaris.
  3. Legitimació: El teu consentiment
  4. Comunicació de les dades: No es comunicaran les dades a tercers excepte per obligació legal.
  5. Emmagatzematge de les dades: Base de dades allotjada en Occentus Networks (UE)
  6. Drets: En qualsevol moment pots limitar, recuperar i esborrar la teva informació.