Cross-site scripting flaws are the most prevalent vulnerabilities found in Web applications, posing a risk to data and intellectual property, according to a study of thousands of applications by vendor Veracode.
Veracode, a company that specializes in finding vulnerabilities in code, analyzed more than 9,900 applications that were submitted to its cloud-based scanning service over the last 18 months.
For Web applications, 68 percent contained cross-site scripting flaws, Veracode found in its study. Cross-site scripting is an attack in which a script drawn from another website is allowed to run even though it shouldn't and it can be used to steal information or potentially cause other malicious code to run.
Veracode also found that 32 percent of Web applications contained a SQL injection problem, a type of issue where commands entered into Web-based forms are executed, potentially returning sensitive data.
Other prevalent flaws Veracode found were CRLF (Carriage Return Line Feed) injection issues, which can allow an attacker to control a Web application or steal information, the report said.
Veracode said it tightened its risk-evaluation methodology for its latest report and adopted a zero-tolerance policy for applications found to have a cross-site scripting or SQL injection flaw.
"The result of this new policy on application performance was drastic," the report said. "Over eight in 10 applications across all supplier types failed to pass when first tested."
Cross-site scripting and SQL injection flaws are common avenues of attack for hackers, so "organizations should implement a program that allows for the discovery and timely remediation of such vulnerability types," Veracode said.
For non-Web applications, Veracode found that error-handling flaws represented 19 percent of the vulnerabilities found, followed by buffer management issues at 15 percent and buffer overflow problems at 14 percent.
For the first time, Veracode also took a look at vulnerabilities in a small set of Android applications. Some 61 percent of the applications had at least one instance of "insufficient entropy."
In Java applications, that can mean the use of statistical random-number generators that leave patterns or clusters of values that are more likely to occur than those calculated by a cryptographic random-number generator.
Another issue Veracode found was hard-coded cryptographic keys present in 42 percent of the Android applications. A hard-coded key can be extracted from a non-J2EE application by simply copying the application.
On another issue, the report found that close to one-third of the Android applications transmitted at least one piece of sensitive information. In some cases, it was hard to determine whether the behavior was intentional or not.
For example, it is probably not a privacy leak if GPS information is transmitted in the course of using FourSquare, which revolves around location-based information. But it may be for, say, a solitaire game, which could indicate malicious behavior, Veracode said.