LANGSPEC: Language-Specific Nodes
|
ID: 98 | Name: PHP File Inclusion |
URL: http://cwe.mitre.org/data/definitions/98.html A PHP product uses "require" or "include" statements, or equivalent statements, that use attacker-controlled data to identify code or HTML to be directly processed by the PHP interpreter before inclusion in the script. |
|
ID: 111 | Name: Unsafe JNI |
URL: http://cwe.mitre.org/data/definitions/111.html Improper use of the Java Native Interface (JNI) can render Java applications vulnerable to security bugs in other languages. This results in dynamic loading of pre-compiled native code into the runtime environment. |
|
ID: 245 | Name: J2EE Bad Practices: getConnection() |
URL: http://cwe.mitre.org/data/definitions/245.html The J2EE standard forbids the direct management of connections. |
|
ID: 382 | Name: J2EE Bad Practices: System.exit() |
URL: http://cwe.mitre.org/data/definitions/382.html System.exit(). A Web application should not attempt to shut down its container. |
|
ID: 383 | Name: J2EE Bad Practices: Threads |
URL: http://cwe.mitre.org/data/definitions/383.html Thread management in a Web application is forbidden in some circumstances and is always highly error prone. |
|
ID: 395 | Name: Catch NullPointerException |
URL: http://cwe.mitre.org/data/definitions/395.html Catching NullPointerException should not be used as an alternative to programmatic checks to prevent dereferencing a null pointer. |
|
ID: 467 | Name: Use of sizeof() on a pointer type |
URL: http://cwe.mitre.org/data/definitions/467.html Running sizeof() on a malloced pointer type will always return the wordsize/8. |
|
ID: 473 | Name: PHP External Variable Modification |
URL: http://cwe.mitre.org/data/definitions/473.html A PHP product does not properly protect against the modification of variables from external sources. Note: this is a tech-specific instance of MAID. |
|
ID: 481 | Name: Assigning instead of comparing |
URL: http://cwe.mitre.org/data/definitions/481.html In many languages the compare statement is very close in appearance to the assignment statement and are often confused. |
|
ID: 482 | Name: Comparing instead of assigning |
URL: http://cwe.mitre.org/data/definitions/482.html In many languages, the compare statement is very close in appearance to the assignment statement; they are often confused. |
|
ID: 484 | Name: Omitted break statement |
URL: http://cwe.mitre.org/data/definitions/484.html Omitting a break statement so that one may fall through is often indistinguishable from an error, and therefore should not be used. |
|
ID: 491 | Name: Mobile Code: Object Hijack |
URL: http://cwe.mitre.org/data/definitions/491.html Attackers can use Cloneable objects to create new instances of an object without calling its constructor. |
|
ID: 558 | Name: Misused Authentication: getlogin (not reentrant) |
URL: http://cwe.mitre.org/data/definitions/558.html The getlogin() function returns a pointer to a string that contains the name of the user associated with the calling process. The function is not reentrant, meaning that if it is called from another process, the contents are not locked out and the value of the string can be changed by another process. This makes it very risky to use because the username can be changed by other processes, so the results of the function cannot be trusted. |
|
ID: 560 | Name: Often Misused: umask |
URL: http://cwe.mitre.org/data/definitions/560.html The mask specified by the argument umask() is often confused with the argument to chmod() |
|
ID: 572 | Name: Call to Thread.run() |
URL: http://cwe.mitre.org/data/definitions/572.html The program calls a thread's run() method instead of calling start() |
|
ID: 579 | Name: J2EE Bad Practices: Non-serializable Object Stored in Session |
URL: http://cwe.mitre.org/data/definitions/579.html Storing a non-serializable object as an HttpSession attribute can damage application reliability. |
|
ID: 580 | Name: Erroneous Clone Method |
URL: http://cwe.mitre.org/data/definitions/580.html The software contains a clone() method that fails to call super.clone() to obtain the new object. |
|
ID: 581 | Name: Object Model Violation: Just One of Equals and Haschode Defined |
URL: http://cwe.mitre.org/data/definitions/581.html Software fails to maintain equal hashcodes for equal objects. |
|
ID: 582 | Name: Mobile Code: Unsafe Array Declaration |
URL: http://cwe.mitre.org/data/definitions/582.html The program violates secure coding principles for mobile code by declaring an array public, final and static. |
|
ID: 583 | Name: Mobile Code: Public Finalize Method |
URL: http://cwe.mitre.org/data/definitions/583.html The program violates secure coding principles for mobile code by declaring a finalize() method public. |
|
ID: 584 | Name: Return Inside Finally Block |
URL: http://cwe.mitre.org/data/definitions/584.html A return statement inside a finally block will cause any exception that might be thrown in the try block to be discarded. |
|
ID: 586 | Name: Explicit Call to Finalize |
URL: http://cwe.mitre.org/data/definitions/586.html The software makes an explicit call to the finalize() method from outside the finalizer. |
|
ID: 587 | Name: Assignment of a Fixed Address to a Pointer |
URL: http://cwe.mitre.org/data/definitions/587.html If a pointer is set to a specific address, other than 0(Which is almost always NULL), that address will probably not be valid. |
|
ID: 597 | Name: Erroneous String Compare |
URL: http://cwe.mitre.org/data/definitions/597.html Strings should be compared with the equals() method, not == or != |
|
ID: 616 | Name: Incomplete Identification of Uploaded File Variables (PHP) |
URL: http://cwe.mitre.org/data/definitions/616.html The PHP application uses an old method for processing uploaded files by referencing the four global variables that are set for each file (e.g. $varname, $varname_size, $varname_name, $varname_type). These variables could be overwritten by POST requests, cookies, or other methods of populating or overwriting these global variables. This could be used to read or process arbitrary files by providing values such as "/etc/passwd". |
|
ID: 621 | Name: Variable Extraction Error |
URL: http://cwe.mitre.org/data/definitions/621.html The product processes user-provided information and extracts this information into arbitrary variables, without verifying that the names of the specified variables are valid. For example, in PHP, calling extract() or import_request_variables() without the proper arguments could allow arbitrary global variables to be overwritten, including superglobals. Similar functionality might be possible in other interpreted languages, including custom languages. |