CWE-5: J2EE Misconfiguration: Data Transmission Without Encryption
Information sent over a network can be compromised while in transit. An attacker may be able to read or modify the contents if the data are sent in plaintext or are weakly encrypted.
Browse cwe for java with official CWE context and Glexia analysis.
Search And Filters
Showing 50 of 87 CWE records · Page 1 of 2.
Information sent over a network can be compromised while in transit. An attacker may be able to read or modify the contents if the data are sent in plaintext or are weakly encrypted.
The J2EE application is configured to use an insufficient session ID length.
The default error page of a web application should not display sensitive information about the product.
When an application exposes a remote interface for an entity bean, it might also expose methods that get or set the bean's data. These methods could be leveraged to read sensitive information, or to change data in ways that violate the application's expectations, potentially leading to other vulnerabilities.
If elevated access rights are assigned to EJB methods, then an attacker can take advantage of the permissions to exploit the product.
The product receives input from an upstream component, but it does not neutralize or incorrectly neutralizes code syntax before using the input in a dynamic evaluation call (e.g. "eval").
The product uses multiple validation forms with the same name, which might cause the Struts Validator to validate a form that the programmer does not expect.
The product has a validator form that either does not define a validate() method, or defines a validate() method but does not call super.validate().
If a form bean does not extend an ActionForm subclass of the Validator framework, it can expose the application to other weaknesses related to insufficient input validation.
The product has a form field that is not validated by a corresponding validation form, which can introduce other weaknesses related to insufficient input validation.
When an application does not use an input validation framework such as the Struts Validator, there is a greater risk of introducing weaknesses related to insufficient input validation.
An unused validation form indicates that validation logic is not up-to-date.
Every Action Form must have a corresponding validation form.
Automatic filtering via a Struts bean has been turned off, which disables the Struts Validator and custom validation logic. This exposes the application to other weaknesses related to insufficient input validation.
Validation fields that do not appear in forms they are associated with indicate that the validation logic is out of date.
When a Java application uses the Java Native Interface (JNI) to call code written in another programming language, it can expose the application to weaknesses in that code, even if those weaknesses cannot occur in Java.
The product subtracts one value from another, such that the result is less than the minimum allowable integer value, which produces a value that is not equal to the correct result.
Integer coercion refers to a set of flaws pertaining to the type casting, extension, or truncation of primitive data types.
Truncation errors occur when a primitive is cast to a primitive of a smaller size and data is lost in the conversion.
The product generates an error message that includes sensitive information about its environment, users, or associated data.
The J2EE application directly manages connections, instead of using the container's connection management facilities.
The J2EE application directly uses sockets instead of using framework method calls.
An exception is thrown from a function, but it is not caught.
The product contains a concurrent code sequence that requires temporary, exclusive access to a shared resource, but a timing window exists in which the shared resource can be modified by another code sequence operating concurrently.
If two threads of execution use a resource simultaneously, there exists the possibility that resources may be used while invalid, in turn making the state of execution undefined.
The product sends non-cloned mutable data as an argument to a method or function.
Sending non-cloned mutable data as a return value may result in that data being altered or deleted by the calling function.
A J2EE application uses System.exit(), which also shuts down its container.
Thread management in a Web application is forbidden in some circumstances and is always highly error prone.
Catching NullPointerException should not be used as an alternative to programmatic checks to prevent dereferencing a null pointer.
Catching overly broad exceptions promotes complex error handling code that is more likely to contain security vulnerabilities.
The product throws or raises an overly broad exceptions that can hide important details and produce inappropriate responses to certain conditions.
The product does not clean up its state or incorrectly cleans up its state when an exception is thrown, leading to unexpected state or control flow.
Duplicate keys in associative lists can lead to non-unique keys being mistaken for an error.
The product uses external input with reflection to select which classes or code to use, but it does not sufficiently prevent the input from selecting improper classes or code.
The product dereferences a pointer that it expects to be valid but is NULL.
The code does not have a default case in an expression with multiple conditions, such as a switch statement.
The code uses an operator for assignment when the intention was to perform a comparison.
The product omits a break statement within a switch or similar construct, causing code associated with multiple conditions to execute. This can cause problems when the programmer only intended to execute code associated with one condition.
The product compares classes by name, which can cause it to use the wrong class when multiple classes can have the same name.
Java packages are not inherently closed; therefore, relying on them for code security is not a good practice.
A class has a cloneable() method that is not declared final, which allows an object to be created without calling the constructor. This can cause the object to be in an unexpected state.
Inner classes are translated into classes that are accessible at package scope and may expose code that the programmer intended to keep private to attackers.
The product has a critical public variable that is not final, which allows the variable to be modified to contain unexpected values.
The product has a method that is declared public, but returns a reference to a private data structure, which could then be modified in unexpected ways.
Assigning public data to a private array is equivalent to giving public access to the array.
The code contains a class with sensitive data, but the class is cloneable. The data can then be accessed by cloning the class.
The code contains a class with sensitive data, but the class does not explicitly deny serialization. The data can be accessed by serializing the class through another class.
An object contains a public static field that is not marked final, which might allow it to be modified in unexpected ways.
The product deserializes untrusted data without sufficiently ensuring that the resulting data will be valid.