HeadlinesBriefing favicon HeadlinesBriefing.com

SourceHut XSS journaux de build

Hacker News •
×

Bienvenue dans mon premier rapport de vulnérabilité à fort impact ! J'aime les bonnes histoires, alors laissez-moi d'abord décrire un peu de contexte. J'ai récemment eu une 'excellente' idée de mettre en place une instance sr.ht qui paierait les gens pour héberger leurs projets. La première étape était de cloner un sous-ensemble minimal des dépôts sr.ht et de commencer à le bidouiller.

Source Hut est structuré en plusieurs microservices, les principaux étant meta.sr.ht et git.sr.ht ou hub.sr.ht. Et bien sûr builds.sr.ht, le CI. J'ai essayé de regarder le code source de la page du journal de build, car il continuait à défiler là où je ne voulais pas, ce qui m'a un peu agacé. C'est là que j'ai trouvé ceci : /* ... */ .ansi38-150150150 { color: #969696; } /* ... */ J'ai décidé d'examiner de plus près comment c'est fait, et peut-être de le corriger.

J'ai examiné la logique de conversion des codes d'échappement ANSI en HTML, et j'ai soumis un problème à ce sujet. Il n'y avait eu aucune activité dans le dépôt depuis plus d'un an à ce moment-là. Cela a rapidement abouti à la soumission d'une PR corrigeant ce problème particulier. Compte tenu de mon parcours Capture The Flag, j'ai commencé à examiner ansi2html un peu plus, à la recherche d'autres bugs. Comme le code n'est pas encore bien structuré, j'ai pu créer une chaîne d'entrée malveillante après avoir lu cette excellente antisèche XSS.

Le premier mérite quelques explications. Je ne sais pas pourquoi, mais comme vous pouvez le vérifier, il analyse le même arbre DOM que : <a href="https://exa...