Otkrili su ranjivost u Spring Frameworku

Nedavno je vijest objavila to otkrivena je kritična ranjivost tipa nultog dana u modulu Spring Core isporučen kao dio Spring Frameworka, što omogućuje udaljenom, neautoriziranom napadaču da izvrši svoj kod na poslužitelju.

Prema nekim procjenama, Spring Core modul koristi se u 74% Java aplikacija. Opasnost od ranjivosti smanjuje se činjenicom da samo aplikacije koje koristite napomenu "@RequestMapping" zaSpajanjem rukovatelja zahtjeva i korištenjem povezivanja parametara web obrasca u formatu “ime=vrijednost” (POJO, Plain Old Java Object), a ne JSON/XML, oni su podložni napadima. Još nije jasno na koje Java aplikacije i okvire utječe problem.

Ova ranjivost, nazvana "Spring4Shell", koristi prednost ubrizgavanja klase koja vodi do potpunog RCE-a i vrlo je ozbiljna. Naziv "Spring4Shell" odabran je jer je Spring Core sveprisutna biblioteka, slična log4j koja je iznjedrila zloglasnu ranjivost Log4Shell.

Vjerujemo da su korisnici koji koriste JDK verziju 9 i novije ranjivi na RCE napad. Sve verzije Spring Core su pogođene.

Postoje strategije za ublažavanje napada i vjerujemo da nisu svi Spring poslužitelji nužno ranjivi, ovisno o drugim čimbenicima o kojima se govori u nastavku. Uz to, trenutno preporučujemo svim korisnicima da primjene ublažavanja ili nadogradnju ako koriste Spring Core.

Iskorištavanje ranjivosti moguće je samo kada se koristi Java/JDK 9 ili noviju verziju. Ranjivost blokira stavljanje na crnu listu polja "class", "module" i "classLoader" ili korištenje eksplicitnog popisa dopuštenih polja.

problem je zbog mogućnosti zaobilaženja zaštite od ranjivosti CVE-2010-1622, Popravljeno u Spring Frameworku 2010. i povezano s izvođenjem rukovatelja classLoader prilikom raščlanjivanja parametara zahtjeva.

Rad eksploatacije svodi se na slanje zahtjeva cs parametrima "class.module.classLoader.resources.context.parent.pipeline.first.*", čija obrada, kada se koristi "WebappClassLoaderBase", dovodi do poziva klase AccessLogValve.

Navedena klasa omogućuje vam da konfigurirate logger da stvori proizvoljnu jsp datoteku u korijenskom okruženju Apache Tomcat-a i upiše kod koji je napadač odredio u ovu datoteku. Stvorena datoteka dostupna je za izravne zahtjeve i može se koristiti kao web ljuska. Za napad na ranjivu aplikaciju u okruženju Apache Tomcat, dovoljno je poslati zahtjev s određenim parametrima pomoću uslužnog programa curl.

Problem koji se razmatra u Spring Core ne smije se miješati s novootkrivenim ranjivostima CVE-2022-22963 i CVE-2022-22950. Prvi problem utječe na paket Spring Cloud i također omogućuje postizanje udaljenog izvršavanja koda (eksploatacije). CVE-2022-22963 popravljen je u izdanjima Spring Cloud 3.1.7 i 3.2.3.

Drugi problem CVE-2022-22950 prisutan je u Spring Expressionu, može se koristiti za pokretanje DoS napada i popravljen je u Spring Frameworku 5.3.17. To su temeljno različite ranjivosti. Programeri Spring Frameworka još nisu dali nikakvu izjavu o novoj ranjivosti i nisu objavili ispravak.

Kao privremenu zaštitnu mjeru, preporučuje se korištenje crne liste nevažećih parametara upita u svom kodu.

još nije jasno koliko posljedice mogu biti katastrofalne identificiranog problema i hoće li napadi biti masivni kao u slučaju ranjivosti u Log4j 2. Ranjivost je dobila kodni naziv Spring4Shell, CVE-2022-22965, a objavljena su ažuriranja Spring Framework 5.3.18 i 5.2.20 za rješavanje ranjivosti.

Zakrpa je sada dostupna od 31. ožujka 2022. u posljednjim izdanim Spring verzijama 5.3.18 i 5.2.20. Svim korisnicima preporučamo nadogradnju. Za one koji se ne mogu nadograditi, moguća su sljedeća ublažavanja:

Na temelju Praetorianove objave koja potvrđuje prisutnost RCE-a u Spring Coreu, trenutno preporučeni pristup je zakrpiti DataBinder dodavanjem crne liste ranjivih polja polja potrebnih za iskorištavanje.

Napokon da zainteresirani ste da saznate više o tome o bilješci možete provjeriti pojedinosti U sljedećem linku.


Ostavite svoj komentar

Vaša email adresa neće biti objavljen. Obavezna polja su označena s *

*

*

  1. Za podatke odgovoran: Miguel Ángel Gatón
  2. Svrha podataka: Kontrola neželjene pošte, upravljanje komentarima.
  3. Legitimacija: Vaš pristanak
  4. Komunikacija podataka: Podaci se neće dostavljati trećim stranama, osim po zakonskoj obvezi.
  5. Pohrana podataka: Baza podataka koju hostira Occentus Networks (EU)
  6. Prava: U bilo kojem trenutku možete ograničiti, oporaviti i izbrisati svoje podatke.