A J2EE application uses System.exit(), which also shuts down its container.
Extended Description
It is never a good idea for a web application to attempt to shut down the application container. Access to a function that can shut down the application is an avenue for Denial of Service (DoS) attacks.
ThreatScore
Threat Mapped score: 1.5
Industry: Finiancial
Threat priority: P4 - Informational (Low)
Observed Examples (CVEs)
No observed examples available.
Related Attack Patterns (CAPEC)
N/A
Attack TTPs
N/A
Modes of Introduction
Phase
Note
Implementation
A call to System.exit() is probably part of leftover debug code or code imported from a non-J2EE application.
Common Consequences
Impact: DoS: Crash, Exit, or Restart — Notes:
Potential Mitigations
Architecture and Design: The shutdown function should be a privileged function available only to a properly authorized administrative user (N/A)
Implementation: Web applications should not call methods that cause the virtual machine to exit, such as System.exit() (N/A)
Implementation: Web applications should also not throw any Throwables to the application server as this may adversely affect the container. (N/A)
Implementation: Non-web applications may have a main() method that contains a System.exit(), but generally should not call System.exit() from other locations in the code (N/A)
Applicable Platforms
Java (N/A, Undetermined)
Demonstrative Examples
Intro: Included in the doPost() method defined below is a call to System.exit() in the event of a specific exception.