3 ms·
Can someone explain why you would want to fuzz ffmpeg? What's wrong with ffmpeg crashing when you feed it invalid input? What's the alternative to it not crash
by jamesrom 11y ago
Can someone explain why you would want to fuzz ffmpeg?
What's wrong with ffmpeg crashing when you feed it invalid input? What's the alternative to it not crashing? Should it continue transcoding or should it exit quietly?
What's the problem here trying to be solved?
- eli 11y agoIt's built into many products and workflows that accept user submitted content.
- 001spartan 11y agoFuzzing is useful for finding bugs that may or may not be serious security issues. If a program crashes when you feed it invalid input, it could potentially crash in a way that allows code execution. After finding a crash, a researcher will generally explore this to see if it allows for arbitrary code execution. If it does, it is possible for someone to create a weaponized exploit. For a utility as widely-used as ffmpeg, any bugs pose a threat to many systems. Fuzzing it makes the Linux ecosystem safer for all of us (hopefully).
- mikeash 11y agoThe alternative to crashing is exiting cleanly with an error. A crash can often be transformed into remote code execution with some work. That would mean that your computer could be taken over if you transcode the wrong video using ffmpeg. Which is pretty wrong.
- baz_ 11y agoThere is nothing wrong with crashing if you can do it in a "safe" manner. If an invalid input allows an attacker to take over your computer, then that is a problem :). Especially for something as wide-spread as ffmpeg.
- PepeGomez 11y agoVideo can often come from a less than perfectly reliable source (eg. satellite downlink), so video transcoders should be able to handle errors as gracefully as possible.