Au descoperit o vulnerabilitate în cadrul Spring Framework

Recent s-a dat vestea asta a fost detectată o vulnerabilitate critică zero day în modul Spring Core livrat ca parte a Spring Framework, care permite unui atacator la distanță neautentificat să-și execute codul pe server.

După unele estimări, modulul Spring Core utilizat în 74% din aplicațiile Java. Pericolul vulnerabilității este redus de faptul că numai aplicațiile care utilizați adnotarea „@RequestMapping” pentruConectarea gestionatorilor de cereri și utilizarea legării parametrilor formularului web în formatul Plain Old Java Object (POJO), în loc de JSON/XML, sunt susceptibile la atac. Încă nu este clar care aplicații și cadre Java sunt afectate de problemă.

Această vulnerabilitate, numită „Spring4Shell”, exploatează injecția de clasă care duce la un RCE complet și este foarte gravă. Numele „Spring4Shell” a fost ales deoarece Spring Core este o bibliotecă omniprezentă, similară cu log4j care a generat infama vulnerabilitate Log4Shell.

Considerăm că utilizatorii care rulează JDK versiunea 9 și o versiune ulterioară sunt vulnerabili la un atac RCE. Toate versiunile Spring Core sunt afectate.

Există strategii de atenuare a atacului și credem că nu toate serverele Spring sunt neapărat vulnerabile, în funcție de alți factori discutați mai jos. Acestea fiind spuse, în prezent recomandăm tuturor utilizatorilor să aplice atenuări sau să actualizeze dacă folosesc Spring Core.

Exploatarea vulnerabilității este posibilă numai atunci când se utilizează Java/JDK 9 sau o versiune mai nouă. Vulnerabilitatea blochează includerea pe lista neagră a câmpurilor „clasă”, „modul” și „classLoader” sau utilizarea unei liste albe explicite de câmpuri permise.

Problema se datorează capacității de a ocoli protecția împotriva vulnerabilității CVE-2010-1622, Remediat în Spring Framework în 2010 și asociat cu rularea handler-ului classLoader la analizarea parametrilor de solicitare.

Operarea exploit-ului se reduce la trimiterea unei cereri ccu parametrii „class.module.classLoader.resources.context.parent.pipeline.first.*”, a căror prelucrare, atunci când se utilizează „WebappClassLoaderBase”, duce la un apel la clasa AccessLogValve.

Clasa specificată vă permite să configurați loggerul să creeze un fișier jsp arbitrar în mediul rădăcină Apache Tomcat și să scrieți codul specificat de atacator în acest fișier. Fișierul creat este disponibil pentru solicitări directe și poate fi folosit ca shell web. Pentru a ataca o aplicație vulnerabilă în mediul Apache Tomcat, pur și simplu trimiteți o solicitare cu anumiți parametri folosind utilitarul curl.

Problema luată în considerare în Spring Core nu trebuie confundat cu vulnerabilitățile nou identificate CVE-2022-22963 și CVE-2022-22950. Prima problemă afectează pachetul Spring Cloud și permite, de asemenea, executarea (exploatării) codului de la distanță. CVE-2022-22963 a fost remediat în versiunile Spring Cloud 3.1.7 și 3.2.3.

A doua problemă CVE-2022-22950 este prezentă în Spring Expression, poate fi folosită pentru a lansa atacuri DoS și este rezolvată în Spring Framework 5.3.17. Acestea sunt vulnerabilități fundamental diferite. Dezvoltatorii Spring Framework nu au făcut încă nicio declarație despre noua vulnerabilitate și nu au publicat o remediere.

Ca măsură de protecție temporară, se recomandă să utilizați o listă neagră de parametri de interogare invalidi în codul dvs.

încă Nu este clar cât de catastrofale pot fi consecințele. a problemei identificate și dacă atacurile vor fi la fel de masive ca în cazul vulnerabilității din Log4j 2. Vulnerabilitatea a primit numele de cod Spring4Shell, CVE-2022-22965 și au fost lansate actualizări Spring Framework 5.3.18 și 5.2.20 pentru adresa vulnerabilității. .

Un patch este acum disponibil începând cu 31 martie 2022 în cele mai recent lansate versiuni Spring 5.3.18 și 5.2.20. Recomandăm tuturor utilizatorilor să actualizeze. Pentru cei care nu pot face upgrade, sunt posibile următoarele atenuări:

Potrivit postării lui Praetorian care confirmă prezența unui RCE în Spring Core, abordarea recomandată în prezent este de a patch DataBinder prin adăugarea unei liste negre de modele de câmp vulnerabile necesare pentru exploatare.

În cele din urmă da sunteți interesat să aflați mai multe despre asta despre notă, puteți verifica detaliile În următorul link.


Fii primul care comenteaza

Lasă comentariul tău

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *

*

*

  1. Responsabil pentru date: Miguel Ángel Gatón
  2. Scopul datelor: Control SPAM, gestionarea comentariilor.
  3. Legitimare: consimțământul dvs.
  4. Comunicarea datelor: datele nu vor fi comunicate terților decât prin obligație legală.
  5. Stocarea datelor: bază de date găzduită de Occentus Networks (UE)
  6. Drepturi: în orice moment vă puteți limita, recupera și șterge informațiile.