De upptäckte en sårbarhet i Spring Framework

Nyligen bröt nyheten ut det en kritisk sårbarhet av typen nolldag upptäcktes i modulen Spring Core skickas som en del av Spring Framework, som tillåter en oautentiserad fjärrangripare att köra sin kod på servern.

Enligt vissa uppskattningar, Spring Core-modulen används i 74 % av Java-applikationerna. Faran för sårbarhet minskar genom att endast applikationer som använd "@RequestMapping"-kommentaren för attGenom att koppla upp förfrågningshanterare och använda webbformulärparameterbindning i formatet "name=value" (POJO, Plain Old Java Object) snarare än JSON/XML, är de känsliga för attacker. Det är ännu inte klart vilka Java-applikationer och ramverk som berörs av problemet.

Denna sårbarhet, som kallas "Spring4Shell", drar fördel av klassinjektion som leder till en fullständig RCE och är mycket allvarlig. Namnet "Spring4Shell" valdes eftersom Spring Core är ett allestädes närvarande bibliotek, liknande log4j som skapade den ökända Log4Shell-sårbarheten.

Vi tror att användare som kör JDK version 9 och senare är sårbara för en RCE-attack. Alla versioner av Spring Core påverkas.

Det finns strategier för att mildra attacken och vi tror att inte alla Spring-servrar nödvändigtvis är sårbara, beroende på andra faktorer som diskuteras nedan. Som sagt, vi rekommenderar för närvarande att alla användare tillämpar begränsningar eller uppgraderar om de använder Spring Core.

Utnyttjande av sårbarheten är endast möjligt när du använder Java/JDK 9 eller en nyare version. Sårbarheten blockerar svartlistningen av fälten "class", "module" och "classLoader" eller användningen av en explicit vitlista med tillåtna fält.

Problemet beror på möjligheten att kringgå skydd mot CVE-2010-1622 sårbarhet, Fixad i Spring Framework 2010 och associerad med exekvering av classLoader-hanteraren vid analys av begäranparametrar.

Driften av exploateringen reduceras till att skicka en begäran cmed parametrarna "class.module.classLoader.resources.context.parent.pipeline.first.*", vars bearbetning, när du använder "WebappClassLoaderBase", leder till ett anrop till klassen AccessLogValve.

Den angivna klassen låter dig konfigurera loggern för att skapa en godtycklig jsp-fil i rotmiljön för Apache Tomcat och skriva koden som specificerats av angriparen till denna fil. Den skapade filen är tillgänglig för direkta förfrågningar och kan användas som ett webbskal. För att attackera en sårbar applikation i Apache Tomcat-miljön räcker det att skicka en begäran med vissa parametrar med hjälp av curl-verktyget.

Problemet som övervägs i Spring Core inte att förväxla med nyligen identifierade sårbarheter CVE-2022-22963 och CVE-2022-22950. Det första problemet påverkar Spring Cloud-paketet och tillåter även fjärrkörning av kod (exploatering). CVE-2022-22963 är fixat i Spring Cloud 3.1.7 och 3.2.3 versioner.

Det andra numret CVE-2022-22950 finns i Spring Expression, kan användas för att starta DoS-attacker och är fixat i Spring Framework 5.3.17. Dessa är fundamentalt olika sårbarheter. Spring Framework-utvecklarna har ännu inte gjort något uttalande om den nya sårbarheten och har inte släppt en fix.

Som en tillfällig skyddsåtgärd rekommenderas att du använder en svartlista med ogiltiga frågeparametrar i din kod.

än det är inte klart hur katastrofala konsekvenserna kan bli av det identifierade problemet och om attackerna kommer att vara lika massiva som i fallet med sårbarheten i Log4j 2. Sårbarheten har fått kodnamnet Spring4Shell, CVE-2022-22965, och uppdateringarna Spring Framework 5.3.18 och 5.2.20 har släppts för att ta itu med sårbarhet.

En patch är nu tillgänglig från och med den 31 mars 2022 i de senaste vårversionerna 5.3.18 och 5.2.20. Vi rekommenderar alla användare att uppgradera. För de som inte kan uppgradera är följande begränsningar möjliga:

Baserat på Praetorians inlägg som bekräftar närvaron av en RCE i Spring Core, är den för närvarande rekommenderade metoden att patcha DataBinder genom att lägga till en svartlista över sårbara fältmönster som behövs för exploatering.

Äntligen ja du är intresserad av att veta mer om det om anteckningen kan du kontrollera detaljerna I följande länk.


Lämna din kommentar

Din e-postadress kommer inte att publiceras. Obligatoriska fält är markerade med *

*

*

  1. Ansvarig för uppgifterna: Miguel Ángel Gatón
  2. Syftet med uppgifterna: Kontrollera skräppost, kommentarhantering.
  3. Legitimering: Ditt samtycke
  4. Kommunikation av uppgifterna: Uppgifterna kommer inte att kommuniceras till tredje part förutom enligt laglig skyldighet.
  5. Datalagring: databas värd för Occentus Networks (EU)
  6. Rättigheter: När som helst kan du begränsa, återställa och radera din information.