diff --git a/src/wp-includes/pluggable.php b/src/wp-includes/pluggable.php index f2602960e7..8f20f7037f 100644 --- a/src/wp-includes/pluggable.php +++ b/src/wp-includes/pluggable.php @@ -1707,6 +1707,10 @@ function wp_verify_nonce($nonce, $action = -1) { $uid = apply_filters( 'nonce_user_logged_out', $uid, $action ); } + if ( empty( $nonce ) ) { + return false; + } + $token = wp_get_session_token(); $i = wp_nonce_tick(); diff --git a/tests/phpunit/tests/auth.php b/tests/phpunit/tests/auth.php index 32c679f9be..57faac9db7 100644 --- a/tests/phpunit/tests/auth.php +++ b/tests/phpunit/tests/auth.php @@ -91,4 +91,12 @@ class Tests_Auth extends WP_UnitTestCase { $password = "pass with vertial tab o_O\x0B"; $this->assertTrue( wp_check_password( 'pass with vertial tab o_O', wp_hash_password( $password ) ) ); } + + /** + * @ticket 29217 + */ + function test_wp_verify_nonce_with_empty_arg() { + $this->assertFalse( wp_verify_nonce( '' ) ); + $this->assertFalse( wp_verify_nonce( null ) ); + } }