How one Twitch chat message became code execution on a streamer’s PC
Thread
Unofficial Hacker News client; not affiliated with Y Combinator.
How one Twitch chat message became code execution on a streamer’s PC
Unofficial Hacker News client; not affiliated with Y Combinator.
superkuh · · focus · HN ↗
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.
UqWBcuFx6NV4r · · focus · HN ↗
userbinator · · focus · HN ↗
JS is a huge attack surface. It's better if it isn't used where it isn't actually needed.
doodlesdev · · focus · HN ↗
doodlesdev · · focus · HN ↗
- A browser engine outdated by two years, with known-exploited CVEs
- Chromium sandboxing completely disabled [0]
- JavaScript V8 Engine with JIT enabled [0]
For me, it's surprising we haven't seen more of these yet.
[0]: <a href="https://github.com/obsproject/obs-browser/blob/f555da02b1d5910008958ca377e0f1a3889eb023/obs-browser-plugin.cpp" rel="nofollow">https://github.com/obsproject/obs-browser/blob/f555da02b1d59...
hulitu · · focus · HN ↗
winstonwinston · · focus · HN ↗
But they can change (underneath). Native app is one bug away from arbitrary code execution. When remote content triggers this bug, it becomes RCE. In this case it was javascript engine bug, in any other it could be your photo viewer or whatever native code you are running with untrusted content. The untrusted content being an image you are viewing.
pie_flavor · · focus · HN ↗
landr0id · · focus · HN ↗
It's a patch gap, plain and simple. Removing the sandbox certainly did not help things.
II2II · · focus · HN ↗
I'm not terribly familiar with this sort of software, but isn't the reason for embedding Chromium to have access to JavaScript. Sure, it was intended for the person running the OBS instance. Yet offering the end user that much power also opens up the possibility of them shooting themselves in the foot.