A function or operation returns an incorrect return value or status code that does not indicate an error, but causes the product to modify its behavior based on the incorrect result.
This can lead to unpredictable behavior. If the function is used to make security-critical decisions or provide security-critical information, then the wrong status code can cause the software to assume that an action is safe, even when it is not.
Time of Introduction
Architecture and Design
Technical Impact: Unexpected state; Alter execution
This weakness could place the system in a state that could lead
unexpected logic to be executed or other unintended behaviors.
In the following example, an HTTP 404 status code is returned in the
event of an IOException encountered in a Java servlet. A 404 code is
typically meant to indicate a non-existent resource and would be somewhat
misleading in this case.