He löysivät haavoittuvuuden Spring Frameworkissa

Äskettäin uutiset rikkoivat sen havaittiin kriittinen nollapäivätyyppinen haavoittuvuus moduulissa Spring Core toimitetaan osana Spring Frameworkia, jonka avulla todentamaton etähyökkääjä voi suorittaa koodinsa palvelimella.

Joidenkin arvioiden mukaan Spring Core -moduuli käytetään 74 %:ssa Java-sovelluksista. Haavoittuvuuden vaaraa vähentää se, että vain sovellukset, jotka käytä @RequestMapping-merkintääYhdistämällä pyyntökäsittelijät ja käyttämällä verkkolomakkeen parametrien sidontaa "nimi=arvo" (POJO, pelkkä vanha Java Object) -muodossa JSON/XML:n sijaan ne ovat alttiina hyökkäyksille. Vielä ei ole selvää, mitä Java-sovelluksia ja -kehyksiä ongelma koskee.

Tämä "Spring4Shell"-niminen haavoittuvuus hyödyntää luokan lisäystä, joka johtaa täydelliseen RCE:hen ja on erittäin vakava. Nimi "Spring4Shell" valittiin, koska Spring Core on kaikkialla läsnä oleva kirjasto, joka on samanlainen kuin log4j, joka synnytti surullisen Log4Shell-haavoittuvuuden.

Uskomme, että käyttäjät, jotka käyttävät JDK-versiota 9 tai uudempaa, ovat alttiina RCE-hyökkäykselle. Tämä koskee kaikkia Spring Coren versioita.

Hyökkäyksen lieventämiseen on olemassa strategioita, ja uskomme, että kaikki Spring-palvelimet eivät välttämättä ole haavoittuvia, riippuen muista alla käsitellyistä tekijöistä. Suosittelemme kuitenkin tällä hetkellä, että kaikki käyttäjät soveltavat lievennyksiä tai päivityksiä, jos he käyttävät Spring Corea.

Haavoittuvuuden hyödyntäminen on mahdollista vain Java/JDK 9:ää käytettäessä tai uudempi versio. Haavoittuvuus estää kenttien "class", "module" ja "classLoader" lisäämisen mustalle listalle tai sallittujen kenttien nimenomaisen sallittujen luettelon käytön.

Ongelma johtuu kyvystä ohittaa suojaus CVE-2010-1622-haavoittuvuutta vastaan, Korjattu Spring Frameworkissa vuonna 2010 ja liitetty classLoader-käsittelijän suorittamiseen pyyntöparametreja jäsennettäessä.

Hyödyntämisen toiminta rajoittuu pyynnön lähettämiseen cparametreillä "class.module.classLoader.resources.context.parent.pipeline.first.*", jonka käsittely johtaa "WebappClassLoaderBasea" käytettäessä kutsuun AccessLogValve-luokkaan.

Määritetyn luokan avulla voit määrittää loggerin luomaan mielivaltaisen jsp-tiedoston Apache Tomcatin juuriympäristössä ja kirjoittamaan hyökkääjän määrittämän koodin tähän tiedostoon. Luotu tiedosto on käytettävissä suoria pyyntöjä varten ja sitä voidaan käyttää web-kuorena. Haavoittuvaan sovellukseen hyökkäämiseksi Apache Tomcat -ympäristössä riittää, että lähetät pyynnön tietyillä parametreilla curl-apuohjelman avulla.

Ongelmaa pohditaan Spring Coressa ei pidä sekoittaa äskettäin tunnistettuihin haavoittuvuuksiin CVE-2022-22963 ja CVE-2022-22950. Ensimmäinen ongelma koskee Spring Cloud -pakettia ja mahdollistaa myös koodin etäsuorittamisen (hyödyntämisen). CVE-2022-22963 on korjattu Spring Cloud 3.1.7- ja 3.2.3 -julkaisuissa.

Toinen ongelma CVE-2022-22950 on Spring Expressionissa, sitä voidaan käyttää DoS-hyökkäysten käynnistämiseen, ja se on korjattu Spring Framework 5.3.17:ssä. Nämä ovat pohjimmiltaan erilaisia ​​haavoittuvuuksia. Spring Frameworkin kehittäjät eivät ole vielä antaneet mitään lausuntoa uudesta haavoittuvuudesta eivätkä ole julkaisseet korjausta.

Väliaikaisena suojatoimenpiteenä on suositeltavaa käyttää koodissasi virheellisten kyselyparametrien mustaa listaa.

vielä ei ole selvää, kuinka katastrofaaliset seuraukset voivat olla tunnistetusta ongelmasta ja ovatko hyökkäykset yhtä massiivisia kuin Log4j 2:n haavoittuvuuden tapauksessa. Haavoittuvuuden koodinimi on Spring4Shell, CVE-2022-22965, ja päivitykset Spring Framework 5.3.18 ja 5.2.20 on julkaistu. haavoittuvuuden käsittelemiseksi.

Korjaus on nyt saatavilla 31. maaliskuuta 2022 alkaen uusimmissa kevätversioissa 5.3.18 ja 5.2.20. Suosittelemme kaikkia käyttäjiä päivittämään. Niille, jotka eivät pysty päivittämään, ovat mahdollisia seuraavat lievennykset:

Perustuen Praetorianin viestiin, joka vahvistaa RCE:n olemassaolon Spring Coressa, tällä hetkellä suositeltu tapa on korjata DataBinder lisäämällä musta lista hyväksikäyttöön tarvittavista haavoittuvista kenttämalleista.

Lopuksi kyllä olet kiinnostunut tietämään siitä lisää Tietoja muistiinpanosta voit tarkistaa yksityiskohdat Seuraavassa linkissä.


Ole ensimmäinen kommentti

Jätä kommentti

Sähköpostiosoitettasi ei julkaista. Pakolliset kentät on merkitty *

*

*

  1. Vastuussa tiedoista: Miguel Ángel Gatón
  2. Tietojen tarkoitus: Roskapostin hallinta, kommenttien hallinta.
  3. Laillistaminen: Suostumuksesi
  4. Tietojen välittäminen: Tietoja ei luovuteta kolmansille osapuolille muutoin kuin lain nojalla.
  5. Tietojen varastointi: Occentus Networks (EU) isännöi tietokantaa
  6. Oikeudet: Voit milloin tahansa rajoittaa, palauttaa ja poistaa tietojasi.