According to the report (lead author Yves Younan, Senior Research Engineer at Sourcefire):
We leveraged two well-respected data sources for our research. First, our classifications of vulnerabilities are based on the Common Vulnerabilities and Exposures (CVE) database which is used today as an international standard for vulnerability numbering or identification. The database provides 25 years of information on vulnerabilities to assess, spanning 1988 to current.
Next, we used information hosted in the National Vulnerability Database (NVD) at the National Institute of Standards and Technology (NIST). We did some normalization to the data with respect to vulnerability categorization to be able to provide more complete statistics.
Not wishing to steal all of the report's thunder, we will summarise only a few of the findings, the full report is available here (free registration is required).
Figure1: Total Vulnerabilities by Year
Figure2: High Severity Vulnerabilities by Year
Figure3: High Severity Vulnerabilities as a percentage of Total by Year
When the report turned its attention to the actual vulnerabilities independently of the products, it found that Cross-Site Scripting (XSS) vulnerabilities were very high in frequency, however, when the analysis was tightened to show only critical errors, this category almost completely vanished, instead, buffer overflows became the force to be reckoned with. "we believe it is now safe to declare the buffer overflow the vulnerability of the quarter-century."
Figure 4: Critical Vulnerabilities as a percentage by type
It would also appear that researchers (and 'hackers') appear to have a "flavour of the year" when it comes to discovered and reported issues.
Figure 5: Top three vulnerability types by year
Of some interest to the various OS and manufacturer bashers, the report found that, as a product, the Linux kernel had the most vulnerabilities, while, as a manufacturer, Microsoft won top place - Microsoft winning purely for having such a broad product offering, and being such an obvious target.
Although Linux is listed as number one, it's worth noting that various iterations of Windows are considered different products, while Linux is considered a single product and Mac OS X are considered three products, which further skews the data. If we account for unique CVEs for every possible version of Windows excluding the mobile ones (that's a total of 13 versions), we get a total of 1114 vulnerabilities in Windows. For Mac OS, which has three versions (including X and the previous Mac OS iterations), we get a total of 827. Of course these vulnerabilities in Windows and Mac OS are not solely in the kernel. Doing the same for Linux as Windows (by adding the unique CVEs assigned to major vendors like Ubuntu and Red Hat), we get a total of 1752 vulnerabilities.
The report also considered the various software products in a variety of categories in some depth. The following comment makes a useful summary.
Google and Apple […] have significantly different track records for their browsers when compared to their mobile operating systems. Chrome is ranked as one of the highest for vulnerabilities, while Android has very few; iPhone has a significant lead on vulnerabilities, while Safari has the fewest compared to the other browsers.
Of course this report makes no effort to compare the number and severity of vulnerabilities with the interest in them by the bad guys. For instance, the very public problems recently seen in Flash and other consumer-oriented tools is in sharp contrast with these product's positions in the frequency charts.
We commend this report to our readers.