The 5 Most Common Security Vulnerability Types of 2020

Scott Cosentino
5 min readDec 10, 2020
Top 10 Vulnerabilities of 2020

As we come close to the end of the year, it is interesting to analyze the vulnerability data to get an idea of what security issues were most commonly exploited in the year. Understanding this data can help us focus on critical and common issues to harden our application.

Note: The products mentioned in this article are not necessarily insecure, but rather large complex projects that are frequently used, and frequently targeted by attackers. It is important to be aware of security vulnerabilities in products, those that report the most vulnerabilities often end up being the most secure.

Analysis Methodology

All of the data in this article is from NVD. To analyze the data, I downloaded the JSON feed, parsed it into a SQL database using Python, then used SQL queries to pull the required data.

Number 1: CWE-79 - Improper Neutralization of Input During Web Page Generation (Cross-Site Scripting)

Cross-Site Scripting is listed as the cause of 1384 vulnerabilities, which accounts for around 10% of the vulnerabilities reported this year. Cross-site scripting can occur in a number of different ways, but the root cause of the issue is failing to validate user input. When this happens, an attacker is able to leverage the injection to execute javascript code in a targets session. The impact of this can vary, and we say CVSS scores ranging from 3.5 to 9.9.

Cross-site scripting primarily affects web applications, specifically ones written in javascript or related languages. If we look at the CPEs associated with these vulnerabilities, we can find more information on the types of products that are affected by this. Among the products affected by this are PHPkb, Gitlab, Sharepoint, and Jira. As discussed, primarily web applications and websites are affected by this type of vulnerability.

The primary ways to avoid this type of vulnerability is through server side verification of user input. If the user attempts to input any special characters such as < or >, they should be sanitized or filtered immediately before they are processed by the application.

Number 2: CWE-269 - Improper…