Dark Reading is part of the Informa Tech Division of Informa PLC

This site is operated by a business or businesses owned by Informa PLC and all copyright resides with them.Informa PLC's registered office is 5 Howick Place, London SW1P 1WG. Registered in England and Wales. Number 8860726.

Risk

1/8/2009
07:41 PM
Connect Directly
Google+
LinkedIn
Twitter
RSS
E-Mail
50%
50%

25 Most Dangerous Programming Errors Exposed

By publicizing these common programming errors, the participating organizations hope to make software code, and by extension the nation's cyberinfrastructure, more secure.

Experts from more than 30 U.S. and international cybersecurity organizations plan to disclose the 25 most dangerous programming errors on Monday, at a media event in Washington, D.C.

The CWE/SANS Top 25 List was compiled with help from organizations and individuals including Apple, CERT, Microsoft, Oracle, Red Hat, and Symantec, to name a few. It is managed by The SANS Institute and Mitre, and funded by U.S. Department of Homeland Security's National Cyber Security Division and the U.S. National Security Agency, both of which also contributed to the development of the list.

CWE stands for Common Weakness Enumeration, a government-sponsored software assurance initiative.

By publicizing these common programming errors, the participating organizations hope to make software code, and by extension the nation's cyberinfrastructure, more secure. Just two of these errors led to more than 1.5 million security breaches in 2008, according to the groups.

"This activity is an important first step in managing the vulnerability of our networks and technology," said Tony Sager, director of the Vulnerability Analysis Office at the National Security Agency, in a statement. "We need to move away from reacting to thousands of individual vulnerabilities, and focus instead on a relatively small number of software flaws that allow vulnerabilities to occur, each with a general root cause. This allows us to then target improvements in software development practices, tools, and requirements to manage these problems earlier in the life cycle, where we can solve them at large scale and cost-effectively."

The hope is that the errors list will serve four major purposes: To make software more secure for buyers by requiring that vendors certify their software is free of these top 25 errors; to incorporate awareness of these errors into software testing tools; to provide information necessary for educators to teach more secure programming techniques; and to provide a guide for employers to determine the abilities of programmers to write code free of these errors.

"The first two errors on the Top 25 are improper input validation and improper output encoding, and they earned the top rating for good reason," said project editor Steven Christey of Mitre in a statement.

"In 2008, hundreds of thousands of innocent, and generally trusted, Web pages were modified to serve malware by automated programs that burrowed into databases using SQL injection," he said. "The attack worked because countless programmers made the exact same mistake in their software. In a 2005 incident exploiting these same two errors, a teenager used a cross-site scripting attack to create a worm that hit the profiles of over 1 million MySpace users in less than a day, causing a temporary outage for the entire site."

The Top 25 List consists of three categories of programming errors: Insecure Interaction Between Components (nine errors), Risky Resource Management (nine errors), and Porous Defenses (seven errors). Examples of errors in the respective categories include: CWE-20: Improper Input Validation; CWE-119: Failure to Constrain Operations within the Bounds of a Memory Buffer; and CWE-285: Improper Access Control.

For the complete list and explanatory information, visit sans.org/top25 or cwe.mitre.org/top25.

Comment  | 
Print  | 
More Insights
Comments
Newest First  |  Oldest First  |  Threaded View
Sodinokibi Ransomware: Where Attackers' Money Goes
Kelly Sheridan, Staff Editor, Dark Reading,  10/15/2019
Data Privacy Protections for the Most Vulnerable -- Children
Dimitri Sirota, Founder & CEO of BigID,  10/17/2019
State of SMB Insecurity by the Numbers
Ericka Chickowski, Contributing Writer,  10/17/2019
Register for Dark Reading Newsletters
White Papers
Video
Cartoon
Current Issue
7 Threats & Disruptive Forces Changing the Face of Cybersecurity
This Dark Reading Tech Digest gives an in-depth look at the biggest emerging threats and disruptive forces that are changing the face of cybersecurity today.
Flash Poll
2019 Online Malware and Threats
2019 Online Malware and Threats
As cyberattacks become more frequent and more sophisticated, enterprise security teams are under unprecedented pressure to respond. Is your organization ready?
Twitter Feed
Dark Reading - Bug Report
Bug Report
Enterprise Vulnerabilities
From DHS/US-CERT's National Vulnerability Database
CVE-2019-16404
PUBLISHED: 2019-10-21
Authenticated SQL Injection in interface/forms/eye_mag/js/eye_base.php in OpenEMR through 5.0.2 allows a user to extract arbitrary data from the openemr database via a non-parameterized INSERT INTO statement, as demonstrated by the providerID parameter.
CVE-2019-17400
PUBLISHED: 2019-10-21
The unoconv package before 0.9 mishandles untrusted pathnames, leading to SSRF and local file inclusion.
CVE-2019-17498
PUBLISHED: 2019-10-21
In libssh2 v1.9.0 and earlier versions, the SSH_MSG_DISCONNECT logic in packet.c has an integer overflow in a bounds check, enabling an attacker to specify an arbitrary (out-of-bounds) offset for a subsequent memory read. A crafted SSH server may be able to disclose sensitive information or cause a ...
CVE-2019-16969
PUBLISHED: 2019-10-21
In FusionPBX up to 4.5.7, the file app\fifo_list\fifo_interactive.php uses an unsanitized "c" variable coming from the URL, which is reflected in HTML, leading to XSS.
CVE-2019-16974
PUBLISHED: 2019-10-21
In FusionPBX up to 4.5.7, the file app\contacts\contact_times.php uses an unsanitized "id" variable coming from the URL, which is reflected in HTML, leading to XSS.