HTTP Connection Contamination
Este é um resumo do post: https://portswigger.net/research/http-3-connection-contamination. Confira para mais detalhes!
Os navegadores da web podem reutilizar uma única conexão HTTP/2+ para diferentes sites através da coalescência de conexão HTTP, dado endereços IP compartilhados e um certificado TLS comum. No entanto, isso pode entrar em conflito com o roteamento de primeira solicitação em proxies reversos, onde solicitações subsequentes são direcionadas ao back-end determinado pela primeira solicitação. Esse erro de roteamento pode levar a vulnerabilidades de segurança, particularmente quando combinado com certificados TLS curinga e domínios como *.example.com
.
Por exemplo, se wordpress.example.com
e secure.example.com
são servidos pelo mesmo proxy reverso e têm um certificado curinga comum, a coalescência de conexão de um navegador pode levar solicitações para secure.example.com
a serem processadas incorretamente pelo back-end do WordPress, explorando vulnerabilidades como XSS.
Para observar a coalescência de conexão, a aba de Rede do Chrome ou ferramentas como Wireshark podem ser usadas. Aqui está um trecho para teste:
A ameaça é atualmente limitada devido à raridade do roteamento de primeira solicitação e à complexidade do HTTP/2. No entanto, as mudanças propostas no HTTP/3, que relaxam o requisito de correspondência de endereço IP, podem ampliar a superfície de ataque, tornando servidores com um certificado curinga mais vulneráveis sem a necessidade de um ataque MITM.
As melhores práticas incluem evitar o roteamento de primeira solicitação em proxies reversos e ter cautela com certificados TLS curinga, especialmente com o advento do HTTP/3. Testes regulares e conscientização sobre essas vulnerabilidades complexas e interconectadas são cruciais para manter a segurança na web.
Last updated