BRECHA no Framework Krpano
27 de Fevereiro de 2025

Uma vulnerabilidade de cross-site scripting (XSS) em uma framework de tour virtual foi armada por atores maliciosos para injetar scripts maliciosos em centenas de sites com o objetivo de manipular resultados de busca e alimentar uma campanha de spam em larga escala.

O pesquisador de segurança Oleg Zaytsev, em um relatório compartilhado, disse que a campanha - batizada de 360XSS - afetou mais de 350 sites, incluindo portais governamentais, sites de governos estaduais dos EUA, universidades americanas, grandes redes de hotéis, veículos de imprensa, concessionárias de carros e várias empresas Fortune 500.

"Não foi apenas uma operação de spam", disse o pesquisador.

Foi um abuso em escala industrial de domínios confiáveis.

Todos esses sites têm algo em comum: uma framework popular chamada Krpano que é usada para incorporar imagens e vídeos em 360° para facilitar tours virtuais interativos e experiências de realidade virtual (VR).
Zaytsev disse que se deparou com a campanha após encontrar um anúncio relacionado à pornografia listado no Google Search, mas com um domínio associado à Universidade de Yale ("virtualtour.quantuminstitute.yale[.]ed").

Um aspecto notável dessas URLs é um parâmetro XML que é projetado para redirecionar o visitante do site para uma segunda URL que pertence a outro site legítimo, que é então usado para executar um payload codificado em Base64 por meio de um documento XML.

O payload decodificado, por sua parte, busca a URL alvo (ou seja, o anúncio) de mais um site legítimo.
O parâmetro XML passado na URL original servida nos resultados de pesquisa é parte de uma configuração mais ampla chamada "passQueryParameters" que é usada ao incorporar um visualizador de panorama Krpano em uma página HTML.

Ele é especificamente projetado para passar parâmetros HTTP da URL para o visualizador.

O problema de segurança aqui é que, se a opção estiver habilitada, abre a porta para um cenário em que um atacante poderia usar uma URL especialmente criada para executar um script malicioso no navegador da web da vítima quando o site vulnerável é visitado.

De fato, uma falha de XSS refletido resultante desse comportamento foi divulgada no Krpano no final de 2020 ( CVE-2020-24901 , pontuação CVSS: 6.1), indicando que o potencial de abuso é publicamente conhecido há mais de quatro anos.

Embora uma atualização introduzida na versão 1.20.10 tenha restringido o "passQueryParameters" a uma lista de permissões em uma tentativa de evitar tais ataques XSS, Zaytsev descobriu que adicionar explicitamente o parâmetro XML à lista de permissões reintroduzia o risco de XSS.

"Desde a versão 1.20.10, a instalação padrão do Krpano não estava vulnerável", disse o pesquisador.

No entanto, configurar passQueryParameter em combinação com o parâmetro XML permitia configuração externa de XML via URL, levando a um risco de XSS.

As versões exploradas que encontrei eram principalmente antigas, anteriores à versão 1.20.10.

A campanha, segundo Zaytsev, aproveitou essa fraqueza para sequestrar mais de 350 sites para veicular anúncios duvidosos relacionados a pornografia, suplementos para dietas, cassinos online e sites de notícias falsas.

Além disso, algumas dessas páginas foram armadas para aumentar as visualizações de vídeos no YouTube.

A campanha é notável, não apenas por abusar da confiança e credibilidade de domínios legítimos para aparecer proeminentemente nos resultados de busca, uma técnica chamada envenenamento de otimização para mecanismos de busca (SEO), que, por sua vez, é realizado abusando da falha XSS.

"Um XSS refletido é uma vulnerabilidade divertida, mas por si só requer interação do usuário, e um dos maiores desafios é fazer as pessoas clicarem no seu link de XSS refletido," disse Zaytsev.

Então, usar motores de busca como uma plataforma de distribuição para o seu XSS é uma maneira muito criativa e legal de fazer isso.

Após a divulgação responsável, o último lançamento do Krpano elimina o suporte para configuração externa via o parâmetro XML, mitigando assim o risco de ataques XSS mesmo quando a configuração é utilizada.

"Segurança de passQueryParameters do embedpano() aprimorada: URLs de dados e URLs externas geralmente não são mais permitidas como valores de parâmetros e as URLs para o parâmetro XML são limitadas a estar dentro da estrutura de pastas atual," de acordo com as notas de lançamento para a versão 1.22.4 lançada esta semana.

Atualmente, não se sabe quem está por trás da operação massiva, embora o abuso de uma falha de XSS para servir apenas redirecionamentos, ao invés de realizar ataques mais nefastos como roubo de credenciais ou cookies, levante a possibilidade de uma agência de publicidade com práticas questionáveis que está veiculando esses anúncios como uma estratégia de monetização.

Usuários do Krpano são aconselhados a atualizar suas instalações para a versão mais recente e definir o ajuste "passQueryParameters" para falso.

Proprietários de sites afetados são recomendados a encontrar e remover páginas infectadas via Google Search Console.

Publicidade

Proteja sua empresa contra hackers através de um Pentest

Tenha acesso aos melhores hackers éticos do mercado através de um serviço personalizado, especializado e adaptado para o seu negócio. Guardsi: qualidade, confiança e especialidade em segurança ofensiva de quem já protegeu centenas de empresas. Saiba mais...