Social

Announcing ref_fuzz, a 2 year old fuzzer

Somewhere in 2008, I created a relatively simple DOM binding fuzzer dubbed ref_fuzz. The tool attempted to crawl the DOM object hierarchy from a particular starting point, collect object references discovered during the crawl by recursively calling methods and examining properties, and then reuse them in various ways after destroying the original object. In essence, the goal was to find use-after-free conditions across the browser codebase.


The fuzzer managed to crash all the mainstream browsers on the market at that time, in a number of seemingly exploitable ways. Early fixes from Opera and Apple started shipping somewhere in 2008; some more arrived in 2009. Today, Microsoft released a fix and a bulletin for CVE-2010-1259 (MS10-035), while Apple released fixes for CVE-2010-1119 - fixing the last of the scary memory corruption cases attributed to the tool.


The story of ref_fuzz is interesting, because to some extent, it illustrates the shortcomings of one-way responsible disclosure. Were I to release this fuzzer publicly in 2008, it would probably cause some short-term distress - but in the end, vendor response would likely be swift, out of simple necessity; this certainly proved to be the case with mangleme, a comparably effective fuzzer I developed 2004.


In this particular case, however, the appropriate parties were notified privately, with no specific disclosure deadline given. This, coupled with the inability to create simple repro cases (inherently due to the design of the fuzzer), likely prompted the developers to deprioritize investigating and responding to these flaws - in the end, taking months or years instead of days or weeks. Given that they need to respond to hundreds or thousands of seemingly more urgent bugs every year, this is not unexpected.


What's more troubling is that, within that timeframe, many of the crashes triggered by ref_fuzz were independently rediscovered and fixed: several exploitable crashes were patched without attribution by Microsoft in December 2009 (MSRC cases 9480jr and 9501jr); similarly, several WebKit flaws were rediscovered by Alexey Proskuryakov and addressed in WebKit earlier this year (say, bug 33729), and by Pwn2Own winners shortly thereafter. Is it unreasonable to assume that malicious researchers were just as likely to spot these glitches on their own?


In any case - I am happy to finally release the tool today. You can check out the fuzzer here (warning: clicking on this link may cause your browser to misbehave).

Related Posts:

  • Hvem har ansvar når ingen eier ...Interessant inlegg i Finansavisen i går i debatten om hvem som eier aksjeselskaper. Noe som kanskje er mer interessant enn å diskutere hva… Read More
  • Fed Balance Sheet RisksThe Balance SheetAs everyone knows, the Fed's balance sheet has more than tripled since the financial crisis. Here is a look at the liability side of … Read More
  • Germany: The Price of Stability?My colleague, Fernando Martin, has an interesting chart that plots the real per capita GDP of five industrialized countries since 1991: The data … Read More
  • Poor GermanyWell, here's an eyebrow raiser: Germans Among Poorest in Europe: ECB Study.  The paper is available here: The Eurosystem Household Finance and Co… Read More
  • Røeggendommen gir bare begrenset effektDNB er dømt for å gi feil informasjon, ikke for å markedsføre et dårlig produkt. Konsekvensene for de andre investorene kan derfor være begrenset. H… Read More

0 nhận xét:

Đăng nhận xét