CWE-536: Servlet Runtime Error Message Containing Sensitive Information
A servlet error message indicates that there exists an unhandled exception in the web application code and may provide useful information to an attacker.
Browse cwe for java with official CWE context and Glexia analysis.
Search And Filters
Showing 37 of 87 CWE records · Page 2 of 2.
A servlet error message indicates that there exists an unhandled exception in the web application code and may provide useful information to an attacker.
In many cases, an attacker can leverage the conditions that cause unhandled exception errors in order to gain unauthorized access to the system.
The product uses the singleton pattern when creating a resource within a multithreaded environment.
The J2EE application stores a plaintext password in a configuration file.
The product does not properly synchronize shared data, such as static variables across threads, which can lead to undefined behavior and unpredictable data changes.
The product contains a finalize() method that does not call super.finalize().
The product calls a thread's run() method instead of calling start(), which causes the code to run in the thread of the caller instead of the callee.
The product violates the Enterprise JavaBeans (EJB) specification by using thread synchronization primitives.
The product violates the Enterprise JavaBeans (EJB) specification by using AWT/Swing.
The product violates the Enterprise JavaBeans (EJB) specification by using the java.io package.
The product violates the Enterprise JavaBeans (EJB) specification by using sockets.
The product violates the Enterprise JavaBeans (EJB) specification by using the class loader.
The product stores a non-serializable object as an HttpSession attribute, which can hurt reliability.
The product contains a clone() method that does not call super.clone() to obtain the new object.
The product does not maintain equal hashcodes for equal objects.
The product declares an array public, final, and static, which is not sufficient to prevent the array's contents from being modified.
The product violates secure coding principles for mobile code by declaring a finalize() method public.
The product contains an empty synchronized block.
The product makes an explicit call to the finalize() method from outside the finalizer.
When the J2EE container attempts to write unserializable objects to disk there is no guarantee that the process will complete successfully.
The product compares object references instead of the contents of the objects themselves, preventing it from detecting equivalent objects.
The product uses the wrong operator when comparing a string, such as using "==" when the .equals() method should be used instead.
The Servlet does not catch all exceptions, which may reveal sensitive debugging information.
A public or protected static final field references a mutable object, which allows the object to be changed by malicious code, or accidentally from another package.
An ActionForm class contains a field that has not been declared private, which can be accessed without using a setter or getter.
The product uses double-checked locking to access a resource without the overhead of explicit synchronization, but the locking is insufficient.
The product contains an assert() or similar statement that can be triggered by an attacker, which leads to an application exit or other behavior that is more severe than necessary.
The product declares a critical variable, field, or member to be public when intended security policy requires it to be private.
The product defines a public method that reads or modifies a private variable.
The product constructs all or part of an expression language (EL) statement in a framework such as a Java Server Page (JSP) using externally-influenced input from an upstream component, but it does not neutralize or incorrectly neutralizes special elements that could modify the intended EL statement before it is executed.
The web application produces links to untrusted external sites outside of its sphere of control, but it does not properly prevent the external site from modifying security-critical properties of the window.opener object, such as the location property.
The product performs a comparison between two entities, but the entities are of different, incompatible types that cannot be guaranteed to provide correct results when they are directly compared.
The code uses boxed primitives, which may introduce inefficiencies into performance-critical operations.
The product receives input from an upstream component that specifies attributes that are to be initialized or updated in an object, but it does not properly control modifications of attributes of the object prototype.
An integer value is specified to be shifted by a negative amount or an amount greater than or equal to the number of bits contained in the value causing an unexpected or indeterminate result.
The product uses a template engine to insert or process externally-influenced input, but it does not neutralize or incorrectly neutralizes special elements or syntax that can be interpreted as template expressions or other code directives when processed by the engine.
The product attempts to close or release a resource or handle more than once, without any successful open between the close operations.