Threat Intelligence

12/17/2018
03:33 PM
Connect Directly
Twitter
LinkedIn
Google+
RSS
E-Mail
50%
50%

53 Bugs in 50 Days: Researchers Fuzz Adobe Reader

Automatic vulnerability finding tools detect more than 50 CVEs in Adobe Reader and Adobe Pro during a 50-day experiment.

Researchers discovered 53 new and critical vulnerabilities in Adobe Reader over the course of 50 days by using common Windows fuzzing framework WinAFL, new analysis shows.

The number of new vulnerabilities reported in 2017 was about 14,000, a high point compared with previous years and more than double the amount found in 2016, according to Check Point, which conducted the experiment. Check Point researchers attribute the spike to the growing popularity of "fuzzers," or automatic vulnerability-finding tools, which are maturing and growing more accepted as their capabilities are refined.

Fuzzers are not new – they've been around for more than twenty years – but they are becoming more accessible and capable. Fortinet's Derek Manky anticipates AI fuzzing will increase in 2019 as artificial intelligence makes it more efficient and effective. The trend could make zero-day exploits more common and affect the process of securing devices and systems.

Professional threat researchers commonly use fuzzing in lab environments to find new vulnerabilities in hardware and software. They inject invalid and sometimes semi-random data into an interface or program and watch for crashes, potential memory leaks, undocumented jumps to debug routines, failing code assertions, and other activity, Manky explains.

Security experts often avoid fuzzers because they are perceived to be a hassle. While adoption is increasing, Check Point's team wanted to see how many low-hanging fruit they were missing. Their 50-day experiment unearthed more than 50 new CVEs in Adobe Reader. An average of one vulnerability per day is "not quite the usual pace for this kind of research," they point out.

For their fuzzer, researchers chose WinAFL, a common Windows fuzzing framework, and targeted Adobe Reader in "the most vanilla experiment we could think of," they explain in a report on the findings. A 50-day timeframe was chosen for the full project: reverse-engineering code, hunting for potential vulnerable libraries, writing harnesses, and running the fuzzer itself.

WinAFL, a fork of AFL for Windows, is a coverage guided genetic fuzzer built and maintained by Ivan Fratric of Google's Project Zero. The Windows version uses a different style of instrumentation, which let researchers target closed source binaries, they report. They found WinAFL to be effective in finding file format bugs, especially in compressed binary formats.

Knowing WinAFL is better at binary formats, they chose to focus their efforts and attack a specific parser. The challenge was finding a parser and writing a harness for it. In fuzzing, a harness is used to target complex software like Adobe Reader, researchers explain, as finding a target function (the entry point to the fuzzing process) in nature is relatively uncommon.

Before the fuzzing session begins, researchers had to check that the total path count was rising – a sign the fuzzer is reaching new paths with their harness. If the path count is zero or close to it, there are a few problems they can investigate, which Check Point experts explain in their write-up of the investivation. The stability of the harness, which should be above 80%, is critical as it affects the fuzzer's accuracy and performance, they explain.

Running the fuzzers is pretty straightforward, they say, and should be done in the following order: run the fuzzers, check coverage and crashes, investigate coverage, employ the "cmin" process, and repeat. A bot should be used to check the status of all fuzzers, graph paths over time for each, crash triage and generate a report, and restart dead fuzzers.

"We can't stress enough how important it is to automate these tasks," they write. "Otherwise, fuzzing is tedious and error prone."

Their strategy led to the discovery of 53 critical bugs in Adobe Reader and Adobe Pro, and they repeated the process for different parsers to come up with their final list of CVEs.

Related Content:

Kelly Sheridan is the Staff Editor at Dark Reading, where she focuses on cybersecurity news and analysis. She is a business technology journalist who previously reported for InformationWeek, where she covered Microsoft, and Insurance & Technology, where she covered financial ... View Full Bio

Comment  | 
Print  | 
More Insights
Comments
Newest First  |  Oldest First  |  Threaded View
Register for Dark Reading Newsletters
White Papers
Video
Cartoon Contest
Write a Caption, Win a Starbucks Card! Click Here
Latest Comment: "Now, we come here to play Paw-ke Man Go!"
Current Issue
The Year in Security 2018
This Dark Reading Tech Digest explores the biggest news stories of 2018 that shaped the cybersecurity landscape.
Flash Poll
How Enterprises Are Attacking the Cybersecurity Problem
How Enterprises Are Attacking the Cybersecurity Problem
Data breach fears and the need to comply with regulations such as GDPR are two major drivers increased spending on security products and technologies. But other factors are contributing to the trend as well. Find out more about how enterprises are attacking the cybersecurity problem by reading our report today.
Twitter Feed
Dark Reading - Bug Report
Bug Report
Enterprise Vulnerabilities
From DHS/US-CERT's National Vulnerability Database
CVE-2019-6497
PUBLISHED: 2019-01-20
Hotels_Server through 2018-11-05 has SQL Injection via the controller/fetchpwd.php username parameter.
CVE-2018-18908
PUBLISHED: 2019-01-20
The Sky Go Desktop application 1.0.19-1 through 1.0.23-1 for Windows performs several requests over cleartext HTTP. This makes the data submitted in these requests prone to Man in The Middle (MiTM) attacks, whereby an attacker would be able to obtain the data sent in these requests. Some of the requ...
CVE-2019-6496
PUBLISHED: 2019-01-20
The ThreadX-based firmware on Marvell Avastar Wi-Fi devices allows remote attackers to execute arbitrary code or cause a denial of service (block pool overflow) via malformed Wi-Fi packets during identification of available Wi-Fi networks. Exploitation of the Wi-Fi device can lead to exploitation of...
CVE-2019-3773
PUBLISHED: 2019-01-18
Spring Web Services, versions 2.4.3, 3.0.4, and older unsupported versions of all three projects, were susceptible to XML External Entity Injection (XXE) when receiving XML data from untrusted sources.
CVE-2019-3774
PUBLISHED: 2019-01-18
Spring Batch versions 3.0.9, 4.0.1, 4.1.0, and older unsupported versions, were susceptible to XML External Entity Injection (XXE) when receiving XML data from untrusted sources.