Description
Laravel's TokenGuard (driver => token, hash => false) does not validate the
credential type before the database lookup. Sending a JSON body with
api_token as an array of integers ({"api_token":[0]}) produces a
whereIn('api_token', [0]) query; under MySQL/MariaDB implicit casting,
every varchar token not starting with a digit evaluates to 0, so the first
user row is returned to an unauthenticated attacker.