Sourcehut account takeover via build logs (XSS in ansi2html)
arusekk
93 points
17 comments
September 24, 2026
Related Discussions
Found 5 related stories in 158.3ms across 12,324 title embeddings via pgvector HNSW
- You click a PostHog survey. An attacker gets your whole account bearsyankees · 12 pts · October 07, 2026 · 54% similar
- Domain hacks with unusual Unicode characters (2018) n_plus_1_acc · 69 pts · November 01, 2026 · 53% similar
- Gheist campaign plants secret-dumping workflows using stolen GitHub tokens acossta · 47 pts · October 25, 2026 · 52% similar
- Tell HN: 2x PHP RCE CVEs with CVSS 10.0 Incoming petecooper · 145 pts · October 20, 2026 · 52% similar
- PHP2Shell: Exploitation attempts and remediation trends acossta · 185 pts · October 27, 2026 · 50% similar
Discussion Highlights (9 comments)
JamesCoyne
Really commendable work fixing up the upstream python project. I don't think there's anything to be embarrassed about in the timeline.
rvz
HN hug of death, strikes again.
serhack_
I love sourcehut, and I can't really think anything to replace it. But here's my shot. It's a popular myth that independently from the project size, someone should always take the main stream product in the field than small projects because most of the people would use the main stream product and there's an higher chance that vulnerabilities get already exploited/recognized/fixed. Is that true or not? TL;DR: in the evaluation of such products (sourcehut but even self hosted stuff), should we also take account about the project history and the exposition to threats?
bstsb
haven’t been properly rickrolled in years, wasn’t expecting that!
Joker_vD
Oh my God, it's OSC 8 again. Because copy-pasting an URI from the terminal window is so 2003, and goodness gracious, having to look at an actual URL instead of an arbitrarily inaccurate description of it? That's, like, 1993. When I wrote my variant of ansi2html, I aggressively stripped out every C0 and C1, and all of the possible APC/DCS/OSC/PM sequences. Meanwhile, internal links between different parts of a man page still don't exist (unless you use GNU Info but seriously, I'd rather use lynx on a folder of HTML files instead).
amatecha
nitpick: typo "Vulnerabile" :)
kwhitlock
Build logs are such a tricky attack surface; sanitizing arbitrary build output is practically impossible without breaking useful formatting. Always assume untrusted input.
nsagent
> So if you happen to be able to make ␛]8;; https://example.com/"/...␇ appear in the job logs —4 which you can, either without even having an account, by sending a patch to a public mailing list with continuous integration turned on The fact that this could be triggered so easily — just sending a malicious patch to a mailing list — is pretty insane.
kgraves
Congrats on the write up, seems extremely serious, I hope Sourcehut and Drew paid you well for this.