TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

Fuzzing FFmpeg for fun and profit

103 pointsby kierankover 9 years ago

9 comments

viraptorover 9 years ago
I can&#x27;t wait for the time when if your project reads files, fuzzing it is a well-known, recommended practice. (unless you&#x27;re writing fully managed code)<p>There were some fuzzing projects before afl, but even with afl&#x27;s recent popularity we&#x27;re still in the situation where you just have to grab a random application, point afl at it and get some basic crashes in a few minutes. With clang-analyzer, coverity, afl, and many other projects available for free, there&#x27;s no reason this should be possible.<p>Then again, I&#x27;m still waiting for the time when people don&#x27;t code with sql injection issues...
评论 #10489420 未加载
评论 #10490912 未加载
评论 #10490693 未加载
评论 #10491054 未加载
评论 #10496456 未加载
评论 #10491520 未加载
jamesromover 9 years ago
Can someone explain why you would want to fuzz ffmpeg?<p>What&#x27;s wrong with ffmpeg crashing when you feed it invalid input? What&#x27;s the alternative to it not crashing? Should it continue transcoding or should it exit quietly?<p>What&#x27;s the problem here trying to be solved?
评论 #10490124 未加载
评论 #10490134 未加载
评论 #10490145 未加载
评论 #10490533 未加载
评论 #10490072 未加载
cottonseedover 9 years ago
afl [0] is awesome. I have it running right now. It found some of bugs in arachne-pnr [1].<p>I wish someone would do a JVM version (combined with the lines of QuickCheck and typed generators).<p>[0] <a href="http:&#x2F;&#x2F;lcamtuf.coredump.cx&#x2F;afl&#x2F;" rel="nofollow">http:&#x2F;&#x2F;lcamtuf.coredump.cx&#x2F;afl&#x2F;</a><p>[1] <a href="https:&#x2F;&#x2F;github.com&#x2F;cseed&#x2F;arachne-pnr" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;cseed&#x2F;arachne-pnr</a>
评论 #10489762 未加载
评论 #10489930 未加载
sunnypsover 9 years ago
Google has done a lot of work [1] with respect to fuzzing ffmpeg because it&#x27;s included in Chrome.<p>[1] <a href="https:&#x2F;&#x2F;googleonlinesecurity.blogspot.com&#x2F;2014&#x2F;01&#x2F;ffmpeg-and-thousand-fixes.html" rel="nofollow">https:&#x2F;&#x2F;googleonlinesecurity.blogspot.com&#x2F;2014&#x2F;01&#x2F;ffmpeg-and...</a>
评论 #10490015 未加载
72deluxeover 9 years ago
Very interesting and thought provoking. The article links to Google&#x27;s page on finding 1000 bugs in FFmpeg (<a href="https:&#x2F;&#x2F;googleonlinesecurity.blogspot.co.uk&#x2F;2014&#x2F;01&#x2F;ffmpeg-and-thousand-fixes.html" rel="nofollow">https:&#x2F;&#x2F;googleonlinesecurity.blogspot.co.uk&#x2F;2014&#x2F;01&#x2F;ffmpeg-a...</a>).<p>This mentions the fixes they found (NULL pointer dereferences, Invalid pointer arithmetic leading to SIGSEGV due to unmapped memory access, Out-of-bounds reads and writes to stack, heap and static-based arrays, Invalid free() calls, Double free() calls over the same pointer, Division errors, Assertion failures, Use of uninitialized memory.)<p>Some of those things could have been caught by static code analysis or stricter coding standards. Or, if it had been a C++ project you could replace some of those problems (NULL pointer dereferences) with using references in the first place instead of passing pointers around. That might be a bit of an oversimplification as it is a very complex project but for me it was a reminder to change my coding style in C++ instead of sticking with the C-style way of doing it.
评论 #10491437 未加载
zurnover 9 years ago
No mention of security impact of these bugs in the tracker. Anyone know if FFmpeg has some vulnerability process, or do they just commit fixes and let other people worry about exploitability, security hotfixes and CVEs, like Linux?
sledererover 9 years ago
Nice work! Can you share some details on the time&#x2F;resource requirements for this tests&#x2F;setup?
aorthover 9 years ago
I didn&#x27;t see any note about what version these bugs were found in, or will be fixed in. For reference, at the time of this writing, my GNU&#x2F;Linux box has ffmpeg 2.8.1.
评论 #10491367 未加载
huevingover 9 years ago
OT: I can&#x27;t describe how much I loathe &quot;for fun and for profit&quot; in titles - especially since the majority aren&#x27;t linked to anything describing a monetary or resource gain. If you want to say something is useful, find a different way to say it!<p>I wish those titles had a weight to drag them off the front page much quicker.
评论 #10489805 未加载
评论 #10491030 未加载