A client/server product performs authentication within client
code but not in server code, allowing server-side authentication to be bypassed
via a modified client that omits the authentication check.
Extended Description
Client-side authentication is extremely weak and may be breached easily.
Any attacker may read the source code and reverse-engineer the
authentication mechanism to access parts of the application which would
otherwise be protected.
Client-side check for a password allows access to
a server using crafted XML requests from a modified
client.
Potential Mitigations
Phase
Description
Do not rely on client side data. Always perform server side
authentication.
Other Notes
Note that there is a close relationship between this weakness and CWE-656
(Reliance on Security through Obscurity). If developers do not believe that
a user can reverse engineer a client, then they are more likely to choose
client-side authentication in the belief that it is safe.