PostNuke Authentication Bypass Vulnerability
PostNuke versions 0.62 to 0.64 suffer from a vulnerability that allows a remote user to log-in as any user with known username and ID without authentication. The problem lies in a failure to filter inappropriate characters from variables that can be passed to the program's components by a remote attacker. This allows the attacker to alter a mysql query to the user database, bypassing password checking and assuming the identity of a specified user. The component 'article.php' calls a routine in 'mainfile2.php' to update user information (i.e., log the user on) when the variable 'save=1' (and the appropriate user ID and name) is specified in the URL. This routine, getusrinfo(), performs a mysql query to load user information from the database. Since part of this query is taken from insecure input that can be passed (in base64 encoded form) to 'article.php' by a remote attacker, this query can be altered with the use of a properly placed single quote character followed by mysql statements.