Large codebases that have a high density of existing software vulnerabilities — two factors often not under an individual developer's control — increase the time to fix an average flaw by 120 days, according to Veracode's latest analysis of security scans.
The application-security company cast differences between existing factors affecting application security and factors that individual developers can control as "nature" — the attributes of an app a developer inherits — versus "nurture," what a developer can control. On the nurture side, combining static and dynamic testing can improve fix times by more than 24 days, while frequent scanning can also speed remediation by more than 22 days. In Veracode's analysis, six testing behaviors helped reduce the time to fix vulnerabilities, while three environmental factors increased remediation times.
If you do it all right, vulnerabilities can be fixed 80-plus days faster than otherwise, says Chris Eng, chief research officer at Veracode.
"The analysis shows that, even if you are dropped into a bad environment, there are actions that you can take that can reduce that time-to-fix half-life significantly," he says. "Of course, it is better if you are dropped into a good environment ... with a young application with no security debt using a modern language in an industry the fixes vulnerabilities quickly ... but even if you are in one of these poor environments, you can significantly impact the outcomes."
Overall, the analysis of more than 130,000 active applications, conducted in collaboration with data scientists at the Cyentia Institute, found fewer applications with vulnerabilities but more with at least one high-severity flaw. The share of applications with at least one flaw decreased to 76%, down from 83% last year, but the share of applications with high-severity flaws increased to 24%, from 20% a year earlier.
The most common issues across all applications were information leakage, CRLF (carriage return-line feed) injection vulnerabilities, and cryptographic issues. SQL injection issues and cross-site scripting both remained in the top 10, according to Veracode.
The company warned these differences need to be taken into account.
Reducing the volume of known flaws in an application, referred to as "security debt" in the industry, continues to be a focus of many vulnerability-management programs. Every six months, the average company fails to patch more than a quarter (28%) of its vulnerabilities, according to an August 2020 study by the Ponemon Institute. This security debt has a real-world impact, with 42% of breaches blamed on known, but unpatched, vulnerabilities, according to the study.
The latest study found about a third of companies could not manage the volume of vulnerabilities in their software. About two-thirds of applications were either making headway in reducing the number of flaws or at least were treading water.
While Veracode focused on the factors that had a significant impact on the time to fix a vulnerability, some development characteristics were notable because they did not appreciably affect the remediation time, Eng says. Surprisingly, the criticality of the application and the severity of the flaw did not have an appreciable impact on time-to-fix, he says.
"When we have customers that assign a criticality to the application depending on its importance to the business, that really didn't cause them to fix it faster," he says.