Otkrili su ranjivost u Spring Framework-u

Nedavno je vijest razbila to otkrivena je kritična ranjivost tipa nultog dana u modulu Spring Core se isporučuje kao dio Spring Framework-a, što omogućava udaljenom napadaču bez autentifikacije da izvrši svoj kod na serveru.

Po nekim procjenama, Spring Core modul koristi se u 74% Java aplikacija. Opasnost od ranjivosti se smanjuje činjenicom da samo aplikacije koje koristite napomenu "@RequestMapping" zaPovezivanjem rukovatelja zahtjeva i korištenjem povezivanja parametara web obrasca u formatu “ime=value” (POJO, običan stari Java objekat), umjesto JSON/XML-a, oni su podložni napadima. Još nije jasno na koje Java aplikacije i okvire utiče ovaj problem.

Ova ranjivost, nazvana "Spring4Shell", koristi prednost ubrizgavanja klase koja vodi do potpunog RCE-a i vrlo je ozbiljna. Naziv "Spring4Shell" je odabran 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 serveri nužno ranjivi, ovisno o drugim faktorima 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 eksplicitne bijele liste dozvoljenih polja.

problem je zbog mogućnosti zaobilaženja zaštite od ranjivosti CVE-2010-1622, Popravljeno u Spring Framework-u 2010. i povezano sa izvršavanjem rukovaoca classLoader-a prilikom raščlanjivanja parametara zahtjeva.

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

Navedena klasa vam omogućava da konfigurišete logger da kreira proizvoljnu jsp datoteku u root okruženju Apache Tomcat-a i upiše kod koji je napadač naveo u ovu datoteku. Kreirana datoteka je dostupna za direktne zahtjeve i može se koristiti kao web ljuska. Za napad na ranjivu aplikaciju u okruženju Apache Tomcat, dovoljno je poslati zahtjev sa određenim parametrima pomoću uslužnog programa curl.

Problem koji se razmatra u Spring Core-u ne treba mešati sa novoidentifikovanim ranjivostima CVE-2022-22963 i CVE-2022-22950. Prvi problem utiče na Spring Cloud paket i takođe omogućava daljinsko izvršavanje koda (eksploataciju). CVE-2022-22963 je popravljen u izdanjima Spring Cloud 3.1.7 i 3.2.3.

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

Kao privremena mjera zaštite, preporučuje se da koristite crnu listu nevažećih parametara upita u vašem kodu.

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

Zakrpa je sada dostupna od 31. marta 2022. u najnovijim izdanim Spring verzijama 5.3.18 i 5.2.20. Svim korisnicima preporučujemo nadogradnju. Za one koji ne mogu izvršiti nadogradnju, moguća su sljedeća ublažavanja:

Na osnovu Pretorijanove objave koja potvrđuje prisustvo RCE-a u Spring Core-u, trenutno preporučeni pristup je da se zakrpi DataBinder dodavanjem crne liste ranjivih polja polja potrebnih za eksploataciju.

Napokon da zainteresovani ste da saznate više o tome o bilješci možete provjeriti detalje Na sledećem linku.


Sadržaj članka pridržava se naših principa urednička etika. Da biste prijavili grešku, kliknite ovdje.

Budite prvi koji komentarišete

Ostavite komentar

Vaša e-mail adresa neće biti objavljena.

*

*

  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 obavezi.
  5. Pohrana podataka: Baza podataka koju hostuje Occentus Networks (EU)
  6. Prava: U bilo kojem trenutku možete ograničiti, oporaviti i izbrisati svoje podatke.