Qual è stata la causa principale della recente vulnerabilità di caricamento di file Struts2 (marzo 2017) (S2-045)?

1

La recente vulnerabilità di Struts2 consentiva l'esecuzione di codice in remoto fornendo un'intestazione Content-Type falsa, come spiegato qui: link

La pagina sopra riportata rimanda anche a: - cosa presumo siano - la correzione commits . Quello che non sono stato in grado di trovare fino ad ora è il punto in cui nel codice base degli strut è stata valutata l'intestazione fasulla.

La wiki Struts afferma:

Problem

It is possible to perform a RCE attack with a malicious Content-Type value. If the Content-Type value isn't valid an exception is thrown which is then used to display an error message to a user.

Ma passare semplicemente un messaggio di errore, anche se composto da input dell'utente, non dovrebbe eseguire un comando exec (), sicuramente?

Qualcuno può spiegare in che modo questa vulnerabilità ha funzionato, tecnicamente - preferibilmente con un collegamento alla linea buggy nel repository di Struts? O non c'è davvero nessun exec colpevole?

    
posta Christian 17.05.2017 - 17:12
fonte

0 risposte

Leggi altre domande sui tag