
Código de exemplo da vulnerabilidade CVE-2022-22978
Código de exemplo da vulnerabilidade CVE-2022-22978
Embora seja classificada como de alta gravidade, as condições de exploração ainda são bastante restritivas. Pessoalmente, acho essa vulnerabilidade de pouco valor prático.
regexMatchers ou usar diretamente o RegexRequestMatcher, além de usar . para corresponder aos caminhos, algo como:
%0a%0d seja usado para contornar as regras de correspondência de caminho do spring-security, será retornado um erro 404.Ao acessar normalmente qualquer caminho, você será redirecionado para a página de login padrão fornecida pelo spring-security.

Acessando: http://127.0.0.1:8080/admin/admin%0a, o login é contornado com sucesso.

Acessando: http://127.0.0.1:8080/hello%0a
Contorna a verificação de segurança que exige login para todos os caminhos, porém, como não existe um controller com a anotação @RequestMapping("/hello/*"), o mapeamento falha, resultando em erro 404.
