HeadlinesBriefing favicon HeadlinesBriefing.com

SourceHut XSS em logs de build

Hacker News •
×

Bem-vindo ao meu primeiro writeup de vulnerabilidade de grande impacto! Gosto de boas histórias, então deixe-me descrever alguns antecedentes primeiro. Recentemente tive uma 'ótima' ideia de configurar uma instância sr.ht que pagaria às pessoas por hospedar seus projetos. O primeiro passo foi clonar um subconjunto mínimo dos repositórios sr.ht e começar a hackeá-lo.

Source Hut é estruturado em vários microsserviços, sendo os principais meta.sr.ht e git.sr.ht ou hub.sr.ht. E claro builds.sr.ht, o CI. Tentei olhar o código-fonte da página do log de build, porque continuava rolando para onde não queria, o que me irritou um pouco. Foi quando encontrei isto: /* ... */ .ansi38-150150150 { color: #969696; } /* ... */ Decidi olhar mais de perto como é feito e talvez corrigi-lo.

Examinei a lógica de conversão de códigos de escape ANSI para HTML e abri uma issue sobre isso. Não houve atividade no repositório por mais de um ano naquele momento. Isso rapidamente resultou no envio de um PR corrigindo esse problema específico. Dado meu histórico de Capture The Flag, comecei a olhar ansi2html um pouco mais, em busca de mais bugs. Como o código ainda não está bem estruturado, consegui criar uma string de entrada maliciosa depois de ler esta ótima folha de dicas XSS.

O primeiro merece alguma explicação. Não sei por quê, mas como você pode verificar, ele analisa a mesma árvore DOM que: <a href="https://exa...