Earlier quoted context omitted.
Chrome is also in userland - and it has a sandboxing system. Assuming they're sandboxing ffmpeg, these bugs are more risky for VLC users than Chrome users. Plus, Chrome is more diligent with security updates and the auto-update mechanism is fully automatic. A sandboxing system provided by either ffmpeg or VLC would be a very good idea, though it would be some work... encoded data in, decoded frames out via shared mem…
Yeah definitely. Really there is a gross violation of the principle of least privilege here. A video player is a great thing to sandbox because all it needs is a video output, very limited file access, and very limited gui input. It doesn't need to read all your files, open network connections, or start processes. Given that there are apparently thousands of bugs in the video parsing code, it seems like a no-brainer.…
Not sure if serious or sarcasm, to be honest, since this seems very far from what we see.
A media player is not simple to sandbox, (as the MacOS X sandbox showed us for example), because:
- you need to open files by yourself, without user interaction, to support playlists,
- you need to open connections by yourself to support video protocol like RTSP, RTMP, RTP,
- you need raw device access to support Webcams, Capture devices, DVDs, DVB tuners,
- you need to access GPU buffers for direct rendering, and/or shaders to do fast filtering or just plain chroma-conversions,
- you need to be able to access the audio output, at low-level, for libsync which is not always doable with the simplified APIs,
- and I don't understand what you mean by "very limited gui input"; how is that less than other programs?
Sure, it can be done, with performance costs but it's clearly not a "no-brainer".