Odkrili so ranljivost v Spring Framework

Pred kratkim je novica to razkrila zaznana je bila kritična ranljivost tipa ničelni dan v modulu Spring Core je bil dostavljen kot del Spring Framework, ki omogoča oddaljenemu napadalcu, ki ni overjen, da izvede svojo kodo na strežniku.

Po nekaterih ocenah modul Spring Core uporablja v 74 % aplikacij Java. Nevarnost ranljivosti je zmanjšana z dejstvom, da le aplikacije, ki uporabite pripis "@RequestMapping" zaČe povežete obdelovalce zahtev in uporabite vezavo parametrov spletnega obrazca v formatu »ime=vrednost« (POJO, navaden stari objekt Java) namesto JSON/XML, so dovzetni za napad. Zaenkrat še ni jasno, katere aplikacije in ogrodja Java zadeva zadeva.

Ta ranljivost, imenovana "Spring4Shell", izkorišča prednost vbrizgavanja razreda, ki vodi do popolnega RCE, in je zelo resna. Ime "Spring4Shell" je bilo izbrano, ker je Spring Core vseprisotna knjižnica, podobna log4j, ki je povzročila zloglasno ranljivost Log4Shell.

Verjamemo, da so uporabniki, ki uporabljajo JDK različice 9 in novejše, ranljivi za napad RCE. Prizadete so vse različice Spring Core.

Obstajajo strategije za ublažitev napada in verjamemo, da niso nujno vsi strežniki Spring ranljivi, odvisno od drugih dejavnikov, ki so obravnavani spodaj. Kljub temu trenutno priporočamo, da vsi uporabniki uporabijo ublažitve ali nadgradnjo, če uporabljajo Spring Core.

Izkoriščanje ranljivosti je možno le pri uporabi Java/JDK 9 ali novejšo različico. Ranljivost blokira črno listo polj "class", "module" in "classLoader" ali uporabo izrecnega seznama dovoljenih polj.

Problem je posledica zmožnosti obhoda zaščite pred ranljivostjo CVE-2010-1622, Popravljeno v Spring Framework leta 2010 in povezano z izvajanjem upravljalnika classLoader pri razčlenjevanju parametrov zahteve.

Delovanje izkoriščanja je zmanjšano na pošiljanje zahteve cs parametri "class.module.classLoader.resources.context.parent.pipeline.first.*", katerih obdelava pri uporabi "WebappClassLoaderBase" vodi do klica razreda AccessLogValve.

Podani razred vam omogoča, da konfigurirate zapisovalnik, da ustvari poljubno datoteko jsp v korenskem okolju Apache Tomcat in v to datoteko zapiše kodo, ki jo je določil napadalec. Ustvarjena datoteka je na voljo za neposredne zahteve in se lahko uporablja kot spletna lupina. Za napad na ranljivo aplikacijo v okolju Apache Tomcat je dovolj, da pošljete zahtevo z določenimi parametri s pomočjo pripomočka curl.

Problem, ki ga obravnavamo v Spring Core ne smemo zamenjevati z na novo ugotovljenimi ranljivostmi CVE-2022-22963 in CVE-2022-22950. Prva težava vpliva na paket Spring Cloud in omogoča tudi oddaljeno izvajanje kode (izkoriščanje). CVE-2022-22963 je popravljen v izdajah Spring Cloud 3.1.7 in 3.2.3.

Druga težava CVE-2022-22950 je prisotna v Spring Expressionu, se lahko uporablja za zagon napadov DoS in je odpravljena v Spring Framework 5.3.17. To so bistveno različne ranljivosti. Razvijalci Spring Framework še niso podali nobene izjave o novi ranljivosti in niso izdali popravka.

Kot začasni zaščitni ukrep priporočamo, da v kodi uporabite črni seznam neveljavnih poizvedbenih parametrov.

Še vedno ni jasno, kako katastrofalne so lahko posledice ugotovljene težave in ali bodo napadi tako množični kot v primeru ranljivosti v Log4j 2. Ranljivost je dobila kodno ime Spring4Shell, CVE-2022-22965, izdane pa so bile posodobitve Spring Framework 5.3.18 in 5.2.20 obravnavati ranljivost.

Popravek je zdaj na voljo od 31. marca 2022 v najnovejši izdani različici Spring 5.3.18 in 5.2.20. Vsem uporabnikom priporočamo nadgradnjo. Za tiste, ki ne morejo nadgraditi, so možne naslednje ublažitve:

Na podlagi Praetorianove objave, ki potrjuje prisotnost RCE v Spring Core, je trenutno priporočen pristop, da popravite DataBinder z dodajanjem črnega seznama ranljivih vzorcev polj, potrebnih za izkoriščanje.

Končno ja te zanima več o tem o opombi lahko preverite podrobnosti V naslednji povezavi.


Pustite svoj komentar

Vaš e-naslov ne bo objavljen. Obvezna polja so označena z *

*

*

  1. Za podatke odgovoren: Miguel Ángel Gatón
  2. Namen podatkov: Nadzor neželene pošte, upravljanje komentarjev.
  3. Legitimacija: Vaše soglasje
  4. Sporočanje podatkov: Podatki se ne bodo posredovali tretjim osebam, razen po zakonski obveznosti.
  5. Shranjevanje podatkov: Zbirka podatkov, ki jo gosti Occentus Networks (EU)
  6. Pravice: Kadar koli lahko omejite, obnovite in izbrišete svoje podatke.