SÄrbarhet i Apache Tomcat som möjliggör insÀttning av JSP-kod och Ätkomst till filer i web-applikationer

Forskare frÄn det kinesiska företaget Chaitin Tech har upptÀckt sÄrbarhet (CVE-2020-1938) i Apache Tomcat, en öppen implementering av Java Servlet-teknologierna, JavaServer Pages, Java Expression Language och Java WebSocket. SÄrbarheten har kodnamnet Ghostcat och har en kritisk risknivÄ (9.8 CVSS). Problemet gör det möjligt, i standardkonfiguration, att genom att skicka en förfrÄgan till nÀtverksport 8009, lÀsa innehÄllet i alla filer frÄn webapplikationens katalog, inklusive instÀllningsfiler och kÀllkoder för applikationen.

SÄrbarheten gör ocksÄ att det gÄr att importera andra filer i applikationens kod, vilket möjliggör kodexekvering pÄ servern, om applikationen tillÄter filuppladdning till servern (till exempel kan en angripare ladda upp ett JSP-skript under förevÀndning av en bild via en bilduppladdningsformulÀr). En attack kan genomföras om det finns möjlighet att skicka en förfrÄgan till nÀtverksporten med AJP-hanteraren. Enligt preliminÀra uppgifter finns det i nÀtverket fanns över 1,2 miljoner vÀrdar som tar emot förfrÄgningar via AJP-protokollet.

SÄrbarheten finns i AJP-protokollet, och inte orsakas av ett fel i implementeringen. Förutom att ta emot anslutningar via HTTP (port 8080) tillÄter Apache Tomcat som standard Ätkomst till webapplikationen genom AJP-protokollet (Apache Jserv Protocol, port 8009), vilket representerar en optimerad binÀr motsvarighet till HTTP designad för att uppnÄ högre prestanda, vanligtvis anvÀnd vid skapande av kluster av Tomcat-servrar eller för att pÄskynda kommunikationen med Tomcat pÄ en reverse proxy eller lastbalanserare.

AJP erbjuder en inbyggd funktion för att fĂ„ Ă„tkomst till filer pĂ„ servern, vilket ocksĂ„ kan anvĂ€ndas för att hĂ€mta filer som inte bör avslöjas. Det antas att Ă„tkomsten till AJP endast Ă€r öppen för betrodda servrar, men i praktiken har Tomcats standardkonfiguration startat hanteraren pĂ„ alla nĂ€tverksgrĂ€nssnitt, och förfrĂ„gningar har accepterats utan autentisering. Åtkomst Ă€r möjlig till alla filer i webapplikationen, inklusive innehĂ„llet i WEB-INF, META-INF och andra kataloger som förmedlas genom anrop av ServletContext.getResourceAsStream(). AJP tillĂ„ter ocksĂ„ att vilken fil som helst i katalogerna som Ă€r tillgĂ€ngliga för webapplikationen anvĂ€nds som JSP-skript.

Problemet har funnits sedan den version av Tomcat 6.x som slÀpptes för 13 Är sedan. Utöver direkt Tomcat pÄverkas Àven problemet. lösningar baserade pÄ det öppna UPnP-stacket och dess produkter, sÄsom Red Hat JBoss Web Server (JWS), JBoss Enterprise Application Platform (EAP), samt sjÀlvgÄende webbapplikationer, som anvÀnder Spring Boot. En liknande sÄrbarhet (CVE-2020-1745) Àr nÀrvarande i webbservern Undertow, som anvÀnds i applikationsservern Wildfly. I JBoss och Wildfly Àr AJP-protokollet som standard aktiverat endast i standalone-full-ha.xml, standalone-ha.xml och ha/full-ha-profiler i domain.xml. I Spring Boot Àr stödet för AJP avaktiverat som standard. För nÀrvarande har olika grupper förberett fler Àn ett dussin fungerande exempel pÄ exploits (
1,
2,
3,
4,
5,
6,
7,
8,
9,
10,
11).

SÄrbarheten har ÄtgÀrdats i Tomcat-versioner 9.0.31, 8.5.51 och 7.0.100 (underhÄllet av version 6.x avslutat). HÄll koll pÄ uppdateringar i distributionerna pÄ följande sidor: Debian, Ubuntu, RHEL, Fedora, SUSE, FreeBSD. Som en tillfÀllig skyddsÄtgÀrd kan du stÀnga av Tomcat AJP Connector-tjÀnsten (bind lyssnande socket till localhost eller kommentera raden med Connector port = "8009"), om det inte Àr nödvÀndigt, eller anpassas autentiserad Ätkomst med hjÀlp av attributen "secret" och "address", om tjÀnsten anvÀnds för kommunikation med andra servrar och proxyer baserat pÄ mod_jk och mod_proxy_ajp (mod_cluster stödjer inte autentisering).

KĂ€lla: opennet.ru

Köp pĂ„litlig webbhotell med DDoS-skydd, VPS VDS-servrar đŸ”„ Köp pĂ„litlig webbhotell med DDoS-skydd, VPS VDS-servrar | ProHoster