
Ambiente di laboratorio riproducibile che dimostra il bypass dell'autorizzazione di Spring Security CVE-2022-22978 tramite caratteri newline codificati in RegexRequestMatcher.
RegexRequestMatcher — la funzionalità che concede le autorizzazioni tramite espressioni regolari — se l'URL della richiesta contiene caratteri di nuova riga può verificarsi un bypass dell'autorizzazione./admin) utilizzando caratteri di nuova riga codificati come %0a, %0d.docker compose up -d per predisporre l'ambiente di test.http://localhost:8080/admin per verificare che l'accesso alla pagina di amministrazione sia bloccato.http://localhost:8080/admin/%0atest per accedere alla pagina di amministrazione.
È stato configurato un ambiente vulnerabile.

L'accesso alla pagina di amministrazione è bloccato.

%0d è il carattere di nuova riga '\r', mentre %0a è '\n'. Inviando una richiesta con %0d e %0a è possibile aggirare i permessi di accesso.
Se l'URL contiene caratteri di nuova riga come %0a e %0d, quando RegexRequestMatcher filtra il percorso della richiesta, la gestione di tali caratteri viene omessa e ciò consente di aggirare l'autorizzazione. È necessaria particolare attenzione perché un attaccante può accedere alla pagina di amministrazione tramite il bypass dell'autorizzazione e sottrarre informazioni sensibili.
Indirizzo GitHub: https://github.com/he-ewo/CVE-2022-22978.git