SpringShell, vulnerabilità confermata

2 years ago 433

Spring4Shell Vulnerability

Da circa 48 ore si prospettava una possibile vulnerabilità sul framework Spring, poi confermata da Praetorian e ritrattata anche in altri popolari blog. La vulnerabilità in questione è relativa a spring-core, componente largamente usato nelle applicazioni Java >9 e la causa, come in molti bug simili, risiede nella deserializzazione.

Alla data del presente articolo, non risulta ancora una patch. Secondo i security researchers di Praetorian è possibile tuttavia mitigare creando un componente ControllerAdvice e aggiungere a una blacklist i pattern pericolosi, con lo snippet che quotiamo:

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); } }

La vulnerabilità, conosciuta ora come CVE-2022-22963, sembra avere severità media.

Seguiremo da vicino l’evoluzione di questo nuovo ed entusiasmante bug e no, non è un pesce d’aprile 😉

Tags: , , , , , , ,

Navigazione articoli

Read Entire Article