From e84e78597811abbb68a6d3af9b89a1c34a80140b Mon Sep 17 00:00:00 2001 From: Matias Griese Date: Wed, 12 Jan 2022 10:55:41 +0200 Subject: [PATCH] Fixed passing null to `$twoFa->verifyCode()` and `$twoFa->verifyYubikeyOTP()` ` --- classes/plugin/Controllers/Login/LoginController.php | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/classes/plugin/Controllers/Login/LoginController.php b/classes/plugin/Controllers/Login/LoginController.php index b4176391..ab4562a2 100644 --- a/classes/plugin/Controllers/Login/LoginController.php +++ b/classes/plugin/Controllers/Login/LoginController.php @@ -275,15 +275,16 @@ class LoginController extends AdminController $twoFa = null; } - $code = $data['2fa_code'] ?? null; - $secret = $user->twofa_secret ?? null; - $redirect = (string)$this->getRequest()->getUri(); + $code = $data['2fa_code'] ?? ''; + $secret = $user->twofa_secret ?? ''; $twofa_valid = $twoFa->verifyCode($secret, $code); - $yubikey_otp = $data['yubikey_otp'] ?? null; - $yubikey_id = $user->yubikey_id ?? null; + $yubikey_otp = $data['yubikey_otp'] ?? ''; + $yubikey_id = $user->yubikey_id ?? ''; $yubikey_valid = $twoFa->verifyYubikeyOTP($yubikey_id, $yubikey_otp); + $redirect = (string)$this->getRequest()->getUri(); + if (null === $twoFa || !$user->authenticated || (!$twofa_valid && !$yubikey_valid) ) { Admin::DEBUG && Admin::addDebugMessage('Admin login: 2FA check failed, log out!');