From ccf39f33c91885334d643ce155afae12466f9417 Mon Sep 17 00:00:00 2001 From: Andrew Nacin Date: Thu, 20 Nov 2014 16:03:24 +0000 Subject: [PATCH] Prevent high resource usage when hashing large passwords. props mdawaffe, pento Built from https://develop.svn.wordpress.org/trunk@30466 git-svn-id: http://core.svn.wordpress.org/trunk@30457 1a063a9b-81f0-0310-95a4-ce76da25c4cd --- wp-includes/class-phpass.php | 8 ++++++++ wp-includes/version.php | 2 +- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/wp-includes/class-phpass.php b/wp-includes/class-phpass.php index 1970ae9da4..f2dadae3ff 100644 --- a/wp-includes/class-phpass.php +++ b/wp-includes/class-phpass.php @@ -214,6 +214,10 @@ class PasswordHash { function HashPassword($password) { + if ( strlen( $password ) > 4096 ) { + return '*'; + } + $random = ''; if (CRYPT_BLOWFISH == 1 && !$this->portable_hashes) { @@ -249,6 +253,10 @@ class PasswordHash { function CheckPassword($password, $stored_hash) { + if ( strlen( $password ) > 4096 ) { + return false; + } + $hash = $this->crypt_private($password, $stored_hash); if ($hash[0] == '*') $hash = crypt($password, $stored_hash); diff --git a/wp-includes/version.php b/wp-includes/version.php index 9b701642ad..ad076df70f 100644 --- a/wp-includes/version.php +++ b/wp-includes/version.php @@ -4,7 +4,7 @@ * * @global string $wp_version */ -$wp_version = '4.1-beta1-30461'; +$wp_version = '4.1-beta1-30466'; /** * Holds the WordPress DB revision, increments when changes are made to the WordPress DB schema.