JP Vossen on 13 Jan 2009 16:30:28 -0800

[Date Prev] [Date Next] [Thread Prev] [Thread Next] [Date Index] [Thread Index]

[PLUG] Dev: 2009 CWE/SANS Top 25 Most Dangerous Programming Errors

Really excellent list, with impressive cross-references and detail. 
Very strongly recommended for anyone even remotely connected to writing 
or evaluating software.  Heck, even anyone who uses software should take 
a look.  (_Geekonomics: The real cost of insecure software_ and _Why 
Software Sucks: and what you can do about it_ are also recommended.)
2009 CWE/SANS Top 25 Most Dangerous Programming Errors
Insecure Interaction Between Components

These weaknesses are related to insecure ways in which data is sent and 
received between separate components, modules, programs, processes, 
threads, or systems.

     * CWE-20: Improper Input Validation
     * CWE-116: Improper Encoding or Escaping of Output
     * CWE-89: Failure to Preserve SQL Query Structure (aka 'SQL Injection')
     * CWE-79: Failure to Preserve Web Page Structure (aka 'Cross-site 
     * CWE-78: Failure to Preserve OS Command Structure (aka 'OS Command 
     * CWE-319: Cleartext Transmission of Sensitive Information
     * CWE-352: Cross-Site Request Forgery (CSRF)
     * CWE-362: Race Condition
     * CWE-209: Error Message Information Leak

Risky Resource Management

The weaknesses in this category are related to ways in which software 
does not properly manage the creation, usage, transfer, or destruction 
of important system resources.

     * CWE-119: Failure to Constrain Operations within the Bounds of a 
Memory Buffer
     * CWE-642: External Control of Critical State Data
     * CWE-73: External Control of File Name or Path
     * CWE-426: Untrusted Search Path
     * CWE-94: Failure to Control Generation of Code (aka 'Code Injection')
     * CWE-494: Download of Code Without Integrity Check
     * CWE-404: Improper Resource Shutdown or Release
     * CWE-665: Improper Initialization
     * CWE-682: Incorrect Calculation

Porous Defenses

The weaknesses in this category are related to defensive techniques that 
are often misused, abused, or just plain ignored.

     * CWE-285: Improper Access Control (Authorization)
     * CWE-327: Use of a Broken or Risky Cryptographic Algorithm
     * CWE-259: Hard-Coded Password
     * CWE-732: Insecure Permission Assignment for Critical Resource
     * CWE-330: Use of Insufficiently Random Values
     * CWE-250: Execution with Unnecessary Privileges
     * CWE-602: Client-Side Enforcement of Server-Side Security

JP Vossen, CISSP            |:::======|
My Account, My Opinions     |=========|
"Microsoft Tax" = the additional hardware & yearly fees for the add-on
software required to protect Windows from its own poorly designed and
implemented self, while the overhead incidentally flattens Moore's Law.
Philadelphia Linux Users Group         --
Announcements -
General Discussion  --