Pesquisadores demonstram cadeia de XSS em imagens do Cloudflare
Pesquisadores da Searchlight Cyber demonstraram uma cadeia de XSS no manipulador de imagens embutido do Cloudflare (/cdn-cgi/image/), unindo bypass do sanitizador svg-hush, comportamento do Chromium com a diretiva Cache-Control: no-cache e open redirect no Cloudflare Access. A mesma técnica de Cache-Control funcionou no Netlify Image CDN e em armazenamento de objetos acessível via URLs assinadas. É uma demonstração de pesquisa; a fonte não informa correção nem exploração em campo.
O que aconteceu
Pesquisadores da Searchlight Cyber demonstraram como executar código em sites que usam o manipulador de imagens do Cloudflare (/cdn-cgi/image/). O ataque encadeia três pontos: um sanitizador de SVG que pode ser burlado, um comportamento do navegador Chromium que descarta a política de segurança CSP do cache e um redirecionamento aberto no Cloudflare Access. A mesma técnica de cache também funcionou no Netlify Image CDN e em armazenamento de objetos com URLs assinadas.
Por que importa
Com o XSS, um atacante pode executar scripts na página da vítima e agir em nome do usuário. A técnica atinge infraestrutura de CDN amplamente usada, mas a fonte relata apenas demonstração de pesquisa, sem exploração em campo. Empresas que servem imagens ou SVGs por esses caminhos devem tratar o risco.
O que fazer
Revisar se o manipulador de imagens segue redirecionamentos para destinos externos, se respostas podem carregar o cabeçalho Cache-Control com a diretiva no-cache da Content-Security-Policy e se o sanitizador de SVG aceita valores xmlns maliciosos. A fonte não informa correção, então a mitigação depende de configuração e monitoramento.
Para o time técnico
- Afetados
- Manipulador de transformação de imagens embutido do Cloudflare (/cdn-cgi/image/); técnica também reproduzida no Netlify · Manipulador de imagens embutido do Cloudflare (/cdn-cgi/image/), incluindo zonas com Cloudflare Access; a mesma técnica de Cache-Control foi reproduzida no Netlify Image CDN e em armazenamento de objetos acessível via URLs assinadas. Versões não citadas na fonte.
- Exploração
- Demonstração de pesquisadores da Searchlight Cyber, divulgada via dbugs. A fonte não relata exploração em campo, PoC pública publicada em repositório nem entrada no KEV.
- Correção
- A fonte não informa versões corrigidas, patch ou mitigação oficial.
- Vetor
- Manipulador de transformação de imagens embutido do Cloudflare (/cdn-cgi/image/), em cadeia de três componentes. 1) Bypass do sanitizador svg-hush: valores de atributo comuns são escapados, mas valores de declaração de namespace são inseridos sem escape na serialização; abusando do valor xmlns é possível sair do atributo e injetar script, que o sanitizador não checa mais. 2) Remoção de CSP do cache do Chromium: o Cloudflare repassa o cabeçalho Cache-Control da resposta do origin; a diretiva no-cache="Content-Security-Policy" faz o Chromium armazenar o corpo no cache HTTP excluindo o cabeçalho CSP da cópia em cache; na navegação seguinte, a página carrega sem a política. 3) Bypass da restrição de origem da imagem: o loader /cdn-cgi/image/ segue redirecionamentos sem checar se o destino final é permitido; com Cloudflare Access habilitado em qualquer hostname da zona, /cdn-cgi/access/logout aceita um parâmetro returnTo e permite redirecionar para subdomínios, um dos quais continha um open redirect alcançável para o domínio controlado pelo atacante.
- Mais detalhes
- Passos da cadeia descritos na fonte: hospedar um SVG que passa pelo svg-hush mas contém um elemento HTML embutido; hospedar uma imagem cuja resposta inclua o cabeçalho Cache-Control: no-cache="Content-Security-Policy", que o Cloudflare repassa ao cliente; abrir a página em nova janela, navegar ao próprio domínio e chamar history.back. O texto da fonte é truncado nesse ponto, sem detalhar o restante do passo.
Linha do tempo
Lote traz demonstração de pesquisadores da Searchlight Cyber de XSS encadeado no manipulador de imagens do Cloudflare.
Fontes 1 fonte
- @ptdbugs @ptdbugs



