Data collected by Contrast Labs has revealed that sensitive data exposures, which include missing and weak encryption, are the top vulnerability plaguing 69 percent of web applications and accounting for 26 percent of all vulnerabilities. Their research has also found that 80 percent of tested software applications had at least one vulnerability, with an average of 45 vulnerabilities per application.
The top 5 web application vulnerabilities according to the Contrast Labs research are as follows:
- Sensitive
data exposure - affects 69 percent of applications
- Cross-site request forgery - affects 55 percent of applications
- Broken authentication and session management - affects 41 percent of applications
- Security misconfiguration - affects 37 percent of applications
- Missing function level access control - affects 33 percent of applications
“The level of application vulnerability revealed by this analysis is deeply concerning,” said Jeff Williams, CTO and co-founder of Contrast Security. “All of these vulnerabilities have been documented in the OWASP Top Ten for over a decade, yet they’re obviously still a major problem. Given the level of vulnerability and increasing threat, organizations should adopt a continuous application security strategy and make sure the development and security teams are bought in.”
Top Vulnerabilities by Language: Java loses
Contrast Labs compared the top web application vulnerabilities across two of the most popular web application development languages: Java and .NET. In so doing, they have revealed that Java suffers from higher prevalence of cross-site request forgery (impacting 69 percent of Java applications, as compared to 31 percent in .NET) and less security misconfiguration problems than .NET (14 percent in Java versus 73 percent in .NET). This is almost certainly because .NET relies far more on configuration than Java applications do; however, the high numbers of security misconfiguration in .NET indicate that this approach is not without its own set of problems.
Contrast Labs also found a lower number of injection flaws in .NET applications (affecting 17 percent of applications), where the use of persistence layers has helped to stamp out these flaws. However, injection flaws are still quite prevalent in
Java applications at 38 percent, where there are many more database options. Injection, a common vulnerability often missed by traditional application security tools, can sometimes lead to a much more serious compromise. If attackers are able to pivot from injection to a complete host takeover, there’s no limit to the access that attackers would have to a software application’s data and capabilities.