Një vulnerabilitet kritik 0-day në Spring Framework, i përdorur në shumë projekte Java

Në modulën Spring Core, e cila ofrohet me kornizën Spring Framework, është zbuluar një dobësi kritike 0-day që lejon një sulmues të paautorizuar të kryejë kodin e tij në server. Ende nuk ka qartësi se sa katastrofike mund të jenë pasojat e kësaj problemi dhe nëse sulmet do të jenë të ngjashme në masë si në rastin e dobësisë në Log4j 2. Dobësitë i është dhënë emri kodik Spring4Shell, por identifikatori CVE ende nuk është caktuar. Në Spring Framework, problemi mbetet i paanshëm dhe në internet janë të disponueshme disa prototipe funksionale të eksploiteve (1, 2, 3, 4). Problemi përkeqësohet nga fakti se shumë aplikacione korporative Java, të bazuara në Spring Framework, ekzekutohen me të drejta root dhe dobësia lejon që të kompromitohet plotësisht sistemi.

Sipas disa vlerĂ«simeve, moduli Spring Core pĂ«rdoret nĂ« 74% tĂ« aplikacioneve Java. Rreziku i dobĂ«sisĂ« zvogĂ«lohet nga fakti se vetĂ«m aplikacionet qĂ« pĂ«rdorin anotimin „@RequestMapping” gjatĂ« lidhjes sĂ« trajtuesve tĂ« kĂ«rkesave dhe lidhjen e parametrave tĂ« formularĂ«ve web nĂ« formatin „name=value” (POJO, Plain Old Java Object), pĂ«rkatĂ«sisht aplikacionet qĂ« pĂ«rdorin JSON/XML, janĂ« tĂ« prekshme.

Ende nuk Ă«shtĂ« e qartĂ« se cilat aplikacione Java dhe framework-u janĂ« tĂ« prekur nga problemi. DobĂ«sia blokon shtimin nĂ« listĂ«n e zezĂ« tĂ« fushave „class”, „module” dhe „classLoader” ose pĂ«rdorimin e njĂ« liste tĂ« bardhĂ« tĂ« fushave tĂ« lejuara. Ekspluatimi i dobĂ«sisĂ« Ă«shtĂ« i mundur vetĂ«m nĂ«se pĂ«rdoret Java/JDK 9 ose njĂ« version mĂ« tĂ« ri. Problemi shkaktohet nga mundĂ«sia e pĂ«rshkallĂ«zimit tĂ« mbrojtjes ndaj dobĂ«sisĂ« CVE-2010-1622, e cila u rregullua nĂ« Spring Framework qĂ« nĂ« vitin 2010 dhe lidhet me ekzekutimin e trajtuesit classLoader gjatĂ« analizĂ«s sĂ« parametrave tĂ« kĂ«rkesĂ«s.

Funksionimi i eksploiteve pĂ«rfshin dĂ«rgimin e njĂ« kĂ«rkese me parametrat „class.module.classLoader.resources.context.parent.pipeline.first.*”, pĂ«rpunimi i tĂ« cilave sjell krijimin e njĂ« file.jsp nĂ« mjedisin e rrĂ«njĂ«s Apache Tomcat dhe regjistrimin nĂ« kĂ«tĂ« file tĂ« kodit tĂ« specifikuar nga sulmuesi. File-i i krijuar bĂ«het i disponueshĂ«m pĂ«r kĂ«rkesa tĂ« drejtpĂ«rdrejta dhe mund tĂ« pĂ«rdoret si web shell. PĂ«r tĂ« sulmuar njĂ« aplikacion tĂ« prekshĂ«m nĂ« mjedisin Apache Tomcat, mjafton tĂ« dĂ«rgoni njĂ« kĂ«rkesĂ« me disa parametra duke pĂ«rdorur mjetin curl. curl -v -d „class.module.classLoader.resources.context.parent.pipeline.first.pattern=kod_ pĂ«r_tĂ«_inse rtuar_nĂ«_file &class.module.classLoader.resources.context.parent.pipeline.first.suffix=.jsp &class.module.classLoader.resources.context.parent.pipeline.first.directory=webapps/ROOT &class.module.classLoader.resources.context.parent.pipeline.first.prefix=tomcatwar &class.module.classLoader.resources.context.parent.pipeline.first.fileDateFormat=” http://localhost:8080/springmvc5-helloworld-exmaple-0.0.1-SNAPSHOT/rapid7

Problemin e shqyrtuar në Spring Core nuk duhet të ngatërrohet me dobësitë e zbuluara kohët e fundit CVE-2022-22963 dhe CVE-2022-22950. Problemi i parë preku paketën Spring Cloud dhe u zgjidh në versionet 3.1.7 dhe 3.2.3. Problemi i dytë është i pranishëm në Spring Expression dhe u rregullua në Spring Framework 5.3.17. Këto janë dobësi thelbësisht të tjera. Për dobësinë e re, zhvilluesit e Spring Framework ende nuk kanë bërë asnjë deklaratë dhe nuk kanë publikuar një rregullim.

Si njĂ« masĂ« tĂ« pĂ«rkohshme pĂ«r mbrojtje, rekomandohet pĂ«rdorimi i njĂ« liste tĂ« zezĂ« tĂ« parametrave tĂ« kĂ«rkesĂ«s tĂ« papranueshĂ«m nĂ« kod: import org.springframework.core.Ordered; import org.springframework.core.annotation.Order; import org.springframework.web.bind.WebDataBinder; import org.springframework.web.bind.annotation.ControllerAdvice; import org.springframework.web.bind.annotation.InitBinder; @ControllerAdvice @Order(10000) public class BinderControllerAdvice { @InitBinder public void setAllowedFields(WebDataBinder dataBinder) { String[] denylist = new String[]{„class.”, „Class.”, „.class.”, „.Class.”}; dataBinder.setDisallowedFields(denylist); } }

Burimi: opennet.ru

Bleni hostim tĂ« besueshĂ«m pĂ«r faqe me mbrojtje nga DDoS, serverĂ« VPS VDS đŸ”„ Bleni hostim tĂ« besueshĂ«m pĂ«r faqe me mbrojtje nga DDoS, serverĂ« VPS VDS | ProHoster