CWEs that violate the CERT standard
This table lists all the CWEs that may cause an application to not pass a policy that includes a CERT policy rule.
CWE ID | CWE name | Static support | Dynamic support | Veracode severity |
---|---|---|---|---|
14 | Compiler Removal of Code to Clear Buffers | |||
20 | Improper Input Validation | X | 0 - Informational | |
22 | Improper Limitation of a Pathname to a Restricted Directory (Path Traversal) | X | X | 3 - Medium |
37 | Path Traversal: '/absolute/pathname/here' | |||
38 | Path Traversal: '\absolute\pathname\here' | |||
39 | Path Traversal: 'C:dirname' | |||
41 | Improper Resolution of Path Equivalence | |||
59 | Improper Link Resolution Before File Access (Link Following) | |||
62 | UNIX Hard Link | |||
64 | Windows Shortcut Following (.LNK) | |||
65 | Windows Hard Link | |||
67 | Improper Handling of Windows Device Names | |||
78 | Improper Neutralization of Special Elements used in an OS Command (OS Command Injection) | X | X | 5 - Very High |
88 | Argument Injection or Modification | X | 3 - Medium | |
111 | Direct Use of Unsafe JNI | X | 4 - High | |
116 | Improper Encoding or Escaping of Output | |||
117 | Improper Output Neutralization for Logs | X | 3 - Medium | |
119 | Improper Restriction of Operations within the Bounds of a Memory Buffer | |||
120 | Buffer Copy without Checking Size of Input (Classic Buffer Overflow) | |||
121 | Stack-based Buffer Overflow | X | 5 - Very High | |
122 | Heap-based Buffer Overflow | |||
123 | Write-what-where Condition | |||
125 | Out-of-bounds Read | X | 3 - Medium | |
128 | Wrap-around Error | |||
129 | Improper Validation of Array Index | X | 3 - Medium | |
131 | Incorrect Calculation of Buffer Size | |||
134 | Use of Externally-Controlled Format String | X | 5 - Very High | |
135 | Incorrect Calculation of Multi-Byte String Length | X | 5 - Very High | |
144 | Improper Neutralization of Line Delimiters | |||
150 | Improper Neutralization of Escape, Meta, or Control Sequences | |||
170 | Improper Null Termination | X | 3 - Medium | |
171 | Cleansing, Canonicalization, and Comparison Errors | |||
176 | Improper Handling of Unicode Encoding | |||
180 | Incorrect Behavior Order: Validate Before Canonicalize | |||
182 | Collapse of Data into Unsafe Value | |||
190 | Integer Overflow or Wraparound | X | 5 - Very High | |
191 | Integer Underflow (Wrap or Wraparound) | X | 3 - Medium | |
192 | Integer Coercion Error | X | 3 - Medium | |
193 | Off-by-one Error | X | 3 - Medium | |
194 | Unexpected Sign Extension | |||
195 | Signed to Unsigned Conversion Error | X | 3 - Medium | |
197 | Numeric Truncation Error | X | 3 - Medium | |
198 | Use of Incorrect Byte Ordering | |||
209 | Information Exposure Through an Error Message | X | X | 2 - Low |
226 | Sensitive Information Uncleared Before Release | |||
227 | 7PK - API Abuse | |||
230 | Improper Handling of Missing Values | |||
232 | Improper Handling of Undefined Values | |||
241 | Improper Handling of Unexpected Data Type | |||
242 | Use of Inherently Dangerous Function | X | 5 - Very High | |
244 | Improper Clearing of Heap Memory Before Release (Heap Inspection) | |||
248 | Uncaught Exception | X | 2 - Low | |
250 | Execution with Unnecessary Privileges | |||
252 | Unchecked Return Value | X | 2 - Low | |
253 | Incorrect Check of Function Return Value | |||
259 | Use of Hard-coded Password | X | X | 3 - Medium |
266 | Incorrect Privilege Assignment | |||
272 | Least Privilege Violation | X | 3 - Medium | |
273 | Improper Check for Dropped Privileges | X | 3 - Medium | |
276 | Incorrect Default Permissions | |||
279 | Incorrect Execution-Assigned Permissions | |||
289 | Authentication Bypass by Alternate Name | |||
300 | Channel Accessible by Non-Endpoint (Man-in-the-Middle) | |||
302 | Authentication Bypass by Assumed-Immutable Data | |||
311 | Missing Encryption of Sensitive Data | X | 3 - Medium | |
319 | Cleartext Transmission of Sensitive Information | X | 3 - Medium | |
327 | Use of a Broken or Risky Cryptographic Algorithm | X | X | 3 - Medium |
330 | Use of Insufficiently Random Values | X | 3 - Medium | |
331 | Insufficient Entropy | X | 3 - Medium | |
332 | Insufficient Entropy in PRNG | |||
333 | Improper Handling of Insufficient Entropy in TRNG | |||
336 | Same Seed in Pseudo-Random Number Generator (PRNG) | |||
337 | Predictable Seed in Pseudo-Random Number Generator (PRNG) | |||
338 | Use of Cryptographically Weak Pseudo-Random Number Generator (PRNG) | X | 3 - Medium | |
347 | Improper Verification of Cryptographic Signature | X | 2 - Low | |
349 | Acceptance of Extraneous Untrusted Data With Trusted Data | |||
359 | Exposure of Private Information (Privacy Violation) | X | 2 - Low | |
362 | Concurrent Execution using Shared Resource with Improper Synchronization (Race Condition) | |||
363 | Race Condition Enabling Link Following | |||
366 | Race Condition within a Thread | X | 3 - Medium | |
367 | Time-of-check Time-of-use (TOCTOU) Race Condition | X | 3 - Medium | |
369 | Divide By Zero | |||
374 | Passing Mutable Objects to an Untrusted Method | |||
375 | Returning a Mutable Object to an Untrusted Caller | |||
377 | Insecure Temporary File | X | 3 - Medium | |
379 | Creation of Temporary File in Directory with Incorrect Permissions | |||
382 | J2EE Bad Practices: Use of System.exit() | X | 2 - Low | |
390 | Detection of Error Condition Without Action | |||
392 | Missing Report of Error Condition | |||
395 | Use of NullPointerException Catch to Detect NULL Pointer Dereference | |||
397 | Declaration of Throws for Generic Exception | |||
400 | Uncontrolled Resource Consumption | |||
401 | Improper Release of Memory Before Removing Last Reference | X | 2 - Low | |
403 | Exposure of File Descriptor to Unintended Control Sphere (File Descriptor Leak) | |||
404 | Improper Resource Shutdown or Release | X | 0 - Informational | |
405 | Asymmetric Resource Consumption (Amplification) | |||
409 | Improper Handling of Highly Compressed Data (Data Amplification) | |||
410 | Insufficient Resource Pool | |||
412 | Unrestricted Externally Accessible Lock | |||
413 | Improper Resource Locking | |||
415 | Double Free | X | 3 - Medium | |
416 | Use After Free | X | 2 - Low | |
426 | Untrusted Search Path | X | 3 - Medium | |
456 | Missing Initialization of a Variable | |||
459 | Incomplete Cleanup | |||
460 | Improper Cleanup on Thrown Exception | |||
462 | Duplicate Key in Associative List (Alist) | |||
464 | Addition of Data Structure Sentinel | |||
466 | Return of Pointer Value Outside of Expected Range | |||
467 | Use of sizeof() on a Pointer Type | |||
468 | Incorrect Pointer Scaling | |||
469 | Use of Pointer Subtraction to Determine Size | |||
470 | Use of Externally-Controlled Input to Select Classes or Code (Unsafe Reflection) | X | 3 - Medium | |
476 | NULL Pointer Dereference | |||
479 | Signal Handler Use of a Non-reentrant Function | X | 3 - Medium | |
480 | Use of Incorrect Operator | |||
481 | Assigning instead of Comparing | |||
482 | Comparing instead of Assigning | |||
486 | Comparison of Classes by Name | |||
487 | Reliance on Package-level Scope | |||
491 | Public cloneable() Method Without Final (Object Hijack) | |||
492 | Use of Inner Class Containing Sensitive Data | |||
493 | Critical Public Variable Without Final Modifier | |||
494 | Download of Code Without Integrity Check | |||
497 | Exposure of System Data to an Unauthorized Control Sphere | X | 2 - Low | |
498 | Cloneable Class Containing Sensitive Information | |||
499 | Serializable Class Containing Sensitive Data | |||
500 | Public Static Field Not Marked Final | |||
502 | Deserialization of Untrusted Data | X | 3 - Medium | |
528 | Exposure of Core Dump File to an Unauthorized Control Sphere | |||
532 | Insertion of Sensitive Information into Log File | X | 2 - Low | |
543 | Use of Singleton Pattern Without Synchronization in a Multithreaded Context | |||
544 | Missing Standardized Error Handling Mechanism | |||
547 | Use of Hard-coded, Security-relevant Constants | X | 3 - Medium | |
552 | Files or Directories Accessible to External Parties | |||
561 | Dead Code | |||
562 | Return of Stack Variable Address | |||
563 | Assignment to Variable without Use | |||
567 | Unsynchronized Access to Shared Data in a Multithreaded Context | |||
568 | finalize() Method Without super.finalize() | |||
570 | Expression is Always False | |||
571 | Expression is Always True | |||
572 | Call to Thread run() instead of start() | |||
573 | Improper Following of Specification by Caller | |||
581 | Object Model Violation: Just One of Equals and Hashcode Defined | |||
582 | Array Declared Public, Final, and Static | |||
583 | finalize() Method Declared Public | |||
584 | Return Inside Finally Block | |||
586 | Explicit Call to Finalize() | |||
587 | Assignment of a Fixed Address to a Pointer | |||
589 | Call to Non-ubiquitous API | |||
590 | Free of Memory not on the Heap | |||
591 | Sensitive Data Storage in Improperly Locked Memory | |||
595 | Comparison of Object References Instead of Object Contents | |||
597 | Use of Wrong Operator in String Comparison | X | 2 - Low | |
600 | Uncaught Exception in Servlet | |||
606 | Unchecked Input for Loop Condition | |||
609 | Double-Checked Locking | |||
617 | Reachable Assertion | |||
625 | Permissive Regular Expression | |||
628 | Function Call with Incorrectly Specified Arguments | X | 2 - Low | |
647 | Use of Non-Canonical URL Paths for Authorization Decisions | |||
662 | Improper Synchronization | |||
664 | Improper Control of a Resource Through its Lifetime | |||
665 | Improper Initialization | X | 2 - Low | |
666 | Operation on Resource in Wrong Phase of Lifetime | |||
667 | Improper Locking | |||
672 | Operation on a Resource after Expiration or Release | |||
675 | Duplicate Operations on Resource | X | 2 - Low | |
676 | Use of Potentially Dangerous Function | X | 3 - Medium | |
680 | Integer Overflow to Buffer Overflow | |||
681 | Incorrect Conversion between Numeric Types | |||
682 | Incorrect Calculation | |||
684 | Incorrect Provision of Specified Functionality | |||
685 | Function Call With Incorrect Number of Arguments | |||
686 | Function Call With Incorrect Argument Type | |||
687 | Function Call With Incorrectly Specified Argument Value | |||
690 | Unchecked Return Value to NULL Pointer Dereference | |||
696 | Incorrect Behavior Order | |||
697 | Incorrect Comparison | |||
703 | Improper Check or Handling of Exceptional Conditions | |||
704 | Incorrect Type Conversion or Cast | |||
705 | Incorrect Control Flow Scoping | |||
732 | Incorrect Permission Assignment for Critical Resource | X | 3 - Medium | |
754 | Improper Check for Unusual or Exceptional Conditions | |||
758 | Reliance on Undefined, Unspecified, or Implementation-Defined Behavior | |||
762 | Mismatched Memory Management Routines | |||
766 | Critical Data Element Declared Public | |||
770 | Allocation of Resources Without Limits or Throttling | |||
771 | Missing Reference to Active Allocated Resource | |||
772 | Missing Release of Resource after Effective Lifetime | |||
773 | Missing Reference to Active File Descriptor or Handle | |||
775 | Missing Release of File Descriptor or Handle after Effective Lifetime | |||
783 | Operator Precedence Logic Error | |||
786 | Access of Memory Location Before Start of Buffer | |||
789 | Uncontrolled Memory Allocation | |||
798 | Use of Hard-coded Credentials | X | 3 - Medium | |
805 | Buffer Access with Incorrect Length Value | |||
807 | Reliance on Untrusted Inputs in a Security Decision | |||
820 | Missing Synchronization | |||
833 | Deadlock | |||
838 | Inappropriate Encoding for Output Context | |||
843 | Access of Resource Using Incompatible Type (Type Confusion) | |||
908 | Use of Uninitialized Resource | |||
910 | Use of Expired File Descriptor |