SourceHut-Kontenübernahme über Build-Logs: XSS in ansi2html
Sourcehut account takeover via build logs (XSS in ansi2html)
Ein XSS in ansi2html.py ermöglichte die Ausführung beliebigen JavaScripts in Build-Logs von builds.sr.ht. Angreifer konnten so CSRF-Token auslesen und im Namen von Opfern Build-Jobs einreichen, mit Zugriff auf Deploy-Keys. Die Lücke wurde über ein Jahr lang nicht gepatcht. SourceHut und der ansi2html-Maintainer haben inzwischen reagiert. Betroffen sind ansi2html >=1.7.0, <1.9.4 und builds.sr.ht >=0.40.0, <0.105.1.
Wenn es Ihnen gelingt, ␛]8;;https://example.com/"/...␇ in den Job-Logs erscheinen zu lassen – was Sie können, entweder ohne überhaupt ein Konto zu haben, indem Sie einen Patch an eine öffentliche Mailingliste mit aktivierter kontinuierlicher Integration senden, oder indem Sie eine beliebige entfernte Ressource kontrollieren, die zufällig ins Log gedruckt wird –, dann haben Sie gerade einen Build-Job unter https://builds.sr.ht/~someone-else/job/1234567 erstellt, der Ihre Payload in jedem Browser ausführt, der ihn ansieht.