SpringShell, vulnerabilità confermata
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, è stata rilasciata una patch nelle versioni di Spring Framework 5.3.18 e 5.2.20, tuttavia potrebbero esserci altri modi di exploitare tale vulnerabilità che non sono stati ancora riportati e secondo i security researchers di Praetorian è possibile comunque mitigare manualmente 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 e non sembra exploitabile per le applicazioni deployate in configurazione di default, ovvero come Spring Boot executable jar.
Seguiremo da vicino l’evoluzione di questo nuovo ed entusiasmante bug e no, non è un pesce d’aprile 😉
Update: Le CVE in questione sono due: CVE-2022-22965 per Spring Framework, CVE-2022-22963 per Spring Cloud. Entrambe sono ora indicate come di severità critica (ringraziamo Andrea Delfino per la segnalazione e rettifica)
Fonte: https://www.miamammausalinux.org/2022/04/springshell-vulnerabilita-confermata/
Se vuoi sostenerci, puoi farlo acquistando qualsiasi cosa dai diversi link di affiliazione che abbiamo nel nostro sito o partendo da qui oppure alcune di queste distribuzioni GNU/Linux che sono disponibili sul nostro negozio online, quelle mancanti possono essere comunque richieste, e su cui trovi anche PC, NAS e il ns ServerOne. Se ti senti generoso, puoi anche donarmi solo 1€ o più se vuoi con PayPal e aiutarmi a continuare a pubblicare più contenuti come questo. Grazie!
Hai dubbi o problemi? Ti aiutiamo noi!
Se vuoi rimanere sempre aggiornato, iscriviti al nostro canale Telegram.Se vuoi ricevere supporto per qualsiasi dubbio o problema, iscriviti alla nostra community Facebook o gruppo Telegram.
Cosa ne pensi? Fateci sapere i vostri pensieri nei commenti qui sotto.
Ti piace quello che leggi? Per favore condividilo con gli altri.