
Script di automazione Python che riproduce CVE-2022-22963, un'iniezione SpEL critica in Spring Cloud Function, consentendo una reverse shell in ambienti di laboratorio autorizzati.
Automazione proof-of-concept a scopo didattico per CVE-2022-22963, dimostrata in un ambiente lab Hack The Box autorizzato.
CVE-2022-22963 è una vulnerabilità di Spring Cloud Function che coinvolge l'header spring.cloud.function.routing-expression.
Con configurazioni vulnerabili, un attaccante può abusare della valutazione di Spring Expression Language (SpEL) per invocare funzionalità Java attraverso il meccanismo di routing delle funzioni.
Questo repository contiene uno script di automazione Python utilizzato per riprodurre la vulnerabilità in un ambiente CTF/lab autorizzato.
CVE ID: CVE-2022-22963 Componente interessato: Spring Cloud Function Versioni interessate: < 3.1.7, < 3.2.3 Versioni corrette: 3.1.7, 3.2.3 Classe di vulnerabilità: Iniezione di Expression Language (CWE-917) Vettore d'attacco: Rete, non autenticato (dipende dalla distribuzione) Gravità: Critica (CVSS 9.8 secondo NVD) Riferimenti Scheda NVD: https://nvd.nist.gov/vuln/detail/CVE-2022-22963 Advisory ufficiale Spring: https://spring.io/security/cve-2022-22963 Commit di correzione / note di rilascio: vedi le release GitHub di Spring Cloud Function
La funzione di routing di Spring Cloud Function consente a un chiamante di selezionare quale funzione debba gestire una richiesta tramite un header. Prima della correzione, il valore di questo header veniva passato in un contesto di valutazione SpEL senza restrizioni. Poiché SpEL supporta l'invocazione di classi e metodi Java arbitrari (ad es. ), un valore di header appositamente modificato può causare l'esecuzione di comandi del sistema operativo sull'host che esegue l'applicazione vulnerabile.
T(java.lang.Runtime)Lo sfruttamento riuscito consente a un attaccante non autenticato di eseguire comandi arbitrari del sistema operativo con i privilegi del processo dell'applicazione, il che può portare alla compromissione completa dell'host, al movimento laterale o all'esfiltrazione di dati a seconda della configurazione dell'ambiente.
il codice fornito consente di iniettare una reverse shell su un target vulnerabile
usage: exploit.py [-h] lhost lport url
Questo contenuto è fornito esclusivamente per ricerca sulla sicurezza e formazione autorizzate (ad es. ambienti lab HTB). Non utilizzare queste informazioni contro sistemi che non possiedi o per cui non hai un'autorizzazione scritta esplicita al test.