Van detectar una vulnerabilitat a Spring Framework

Fa poc es va donar a conèixer la notícia que va ser detectada una vulnerabilitat crítica del tipus zero day al mòdul Spring Core enviat com a part de Spring Framework, que permet a un atacant remot no autenticat executar el seu codi al servidor.

Segons algunes estimacions, el mòdul Spring Core s'utilitza en el 74% de les aplicacions Java. El perill de la vulnerabilitat es redueix pel fet que només les aplicacions que utilitzen l'anotació @RequestMapping al connectar els controladors de sol·licituds i utilitzen l'enllaç de paràmetres de formulari web en el format nom=valor (POJO, Plain Old Java Object), en lloc de JSON/XML, són susceptibles a l'atac. Encara no és clar quines aplicacions i marcs de Java es veuen afectats pel problema.

Aquesta vulnerabilitat, anomenada Spring4Shell, aprofita la injecció de classe que condueix a un RCE complet i és molt greu. Es va triar el nom Spring4Shell perquè Spring Core és una biblioteca ubiqua, similar a log4j que va generar la infame vulnerabilitat Log4Shell .

Creiem que els usuaris que executen JDK versió 9 i posteriors són vulnerables a un atac RCE. Totes les versions de Spring Core es veuen afectades.

Hi ha estratègies per mitigar l'atac i creiem que no tots els servidors Spring són necessàriament vulnerables, depenent d'altres factors que s'analitzen a continuació. Dit això, actualment recomanem que tots els usuaris apliquin mitigacions o actualitzin si estan usant Spring Core.

L'explotació de la vulnerabilitat només és possible quan utilitzeu Java/JDK 9 o una versió més recent. La vulnerabilitat bloqueja la inclusió a la llista negra dels camps «classe», «mòdul» i «classLoader» o l'ús d'una llista blanca explícita de camps permesos.

el problema es deu a la capacitat d'eludir la protecció contra la vulnerabilitat CVE-2010-1622, corregida a Spring Framework al 2010 i associada amb l'execució del controlador classLoader en analitzar els paràmetres de la sol·licitud.

El funcionament de l'exploit es redueix a enviar una sol·licitudon els paràmetres «class.module.classLoader.resources.context.parent.pipeline.first.*», el processament dels quals, en utilitzar » WebappClassLoaderBase «, condueix a una trucada a la classe AccessLogValve.

La classe especificada us permet configurar el registrador per crear un fitxer jsp arbitrari a l'entorn arrel d'Apache Tomcat i escriure el codi especificat per l'atacant en aquest fitxer. El fitxer creat està disponible per a sol·licituds directes i es pot utilitzar com a intèrpret d'ordres web. Per atacar una aplicació vulnerable a l'entorn d'Apache Tomcat, només cal enviar una sol·licitud amb certs paràmetres utilitzant la utilitat curl.

El problema sota consideració a Spring Core no s'ha de confondre amb les vulnerabilitats identificades recentment CVE-2022-22963 i CVE-2022-22950. El primer problema afecta el paquet Spring Cloud i també permet aconseguir lexecució remota de codi (exploit). CVE-2022-22963 es va corregir a les versions Spring Cloud 3.1.7 i 3.2.3.

El segon problema CVE-2022-22950 és present a Spring Expression, es pot usar per llançar atacs DoS i es corregeix a Spring Framework 5.3.17. Aquestes són vulnerabilitats fonamentalment diferents. Els desenvolupadors de Spring Framework encara no han fet cap declaració sobre la nova vulnerabilitat i no han publicat cap solució.

Com a mesura de protecció temporal, es recomana utilitzar una llista negra de paràmetres de consulta no vàlids al codi.

encara no és clar com de catastròfiques poden ser les conseqüències del problema identificat i si els atacs seran tan massius com en el cas de la vulnerabilitat a Log4j 2. La vulnerabilitat va rebre el nom en clau Spring4Shell, CVE-2022-22965 i es van llançar les actualitzacions Spring Framework 5.3.18 i 5.2.20 per abordar la vulnerabilitat.

Un pegat ara està disponible a partir del 31 de març de 2022 a les versions de Spring més recents publicades 5.3.18 i 5.2.20 . Recomanem a tots els usuaris actualitzar. Per a aquells que no poden actualitzar, les mitigacions següents són possibles:

Segons la publicació de Praetorian que confirma la presència d'un RCE a Spring Core, l'enfocament recomanat actualment és pegat DataBinderagregant una llista negra de patrons de camp vulnerables necessaris per a l'explotació.

Finalment sí estàs interessat a poder conèixer més sobre això sobre la nota, pots consultar els detalls en 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ó.