Forskare frÄn det kinesiska företaget Chaitin Tech har upptÀckt () i , 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 över 1,2 miljoner vÀrdar som tar emot förfrÄgningar via AJP-protokollet.
SÄrbarheten finns i AJP-protokollet, och 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 (, 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. och dess produkter, sÄsom Red Hat JBoss Web Server (JWS), JBoss Enterprise Application Platform (EAP), samt sjÀlvgÄende webbapplikationer, som anvÀnder . En liknande sÄrbarhet (CVE-2020-1745) i webbservern , 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 (
,
,
,
,
,
,
,
,
,
,
).
SÄrbarheten har ÄtgÀrdats i Tomcat-versioner , och (underhÄllet av version 6.x ). HÄll koll pÄ uppdateringar i distributionerna pÄ följande sidor: , , , , , . 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 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
