This vulnerability occurs when a security-sensitive variable is declared as public but not marked as final, allowing untrusted code to unexpectedly change its value after initialization.
When a critical variable—like a security flag, configuration setting, or cryptographic key—is made public without the `final` modifier, any part of the application with access to its class can alter its contents. This breaks the intended design and can lead to security failures, as other components may rely on that value remaining constant after being set. Manually tracking these exposed variables across a large codebase is challenging. An ASPM like Plexicus can automatically detect this pattern via SAST, and its AI remediation engine can suggest the specific code change—such as adding the `final` keyword or refactoring to a private field—saving significant manual review time and reducing risk.
Impact: Modify Application Data
The object could potentially be tampered with.
Impact: Read Application Data
The object could potentially allow the object to be read.
javac++javaHigh