1
0
mirror of https://github.com/php/php-src.git synced 2026-04-26 01:18:19 +02:00
Files
archived-php-src/ext/standard
Tim Düsterhus 7882d12ff2 crypt: Fix validation of malformed BCrypt hashes
PHP’s implementation of crypt_blowfish differs from the upstream Openwall
version by adding a “PHP Hack”, which allows one to cut short the BCrypt salt
by including a `$` character within the characters that represent the salt.

Hashes that are affected by the “PHP Hack” may erroneously validate any
password as valid when used with `password_verify` and when comparing the
return value of `crypt()` against the input.

The PHP Hack exists since the first version of PHP’s own crypt_blowfish
implementation that was added in 1e820eca02.

No clear reason is given for the PHP Hack’s existence. This commit removes it,
because BCrypt hashes containing a `$` character in their salt are not valid
BCrypt hashes.
2023-02-13 13:17:01 -06:00
..
2022-10-10 11:25:23 +03:00
2021-05-06 12:16:35 +02:00
2021-05-06 12:16:35 +02:00
2021-05-07 12:11:52 +02:00
2022-07-15 12:48:09 +01:00
2020-10-26 11:06:10 +01:00
2020-06-17 13:04:01 +00:00
2020-04-14 15:16:26 +00:00
2021-05-06 12:16:35 +02:00
2021-05-06 12:16:35 +02:00
2021-05-06 12:16:35 +02:00
2021-08-19 10:39:23 +02:00
2021-08-19 10:39:23 +02:00
2021-08-19 10:39:23 +02:00
2021-05-06 12:16:35 +02:00
2020-05-14 13:35:12 +02:00
2021-08-30 18:55:16 +02:00
2021-05-06 12:16:35 +02:00
2021-05-06 12:16:35 +02:00
2022-03-04 16:07:54 +01:00
2021-07-06 12:03:55 +02:00
2021-05-06 12:16:35 +02:00
2021-05-06 12:16:35 +02:00
2021-05-06 12:16:35 +02:00
2021-05-06 12:16:35 +02:00
2021-05-06 12:16:35 +02:00
2021-05-06 12:16:35 +02:00
2021-06-29 11:30:26 +02:00
2021-05-06 12:16:35 +02:00
2021-05-06 12:16:35 +02:00
2021-07-16 10:07:35 +02:00
2021-05-06 12:16:35 +02:00
2021-06-29 11:30:26 +02:00
2021-05-06 12:16:35 +02:00
2021-05-06 12:16:35 +02:00
2022-01-17 22:32:37 +01:00
2021-05-06 12:16:35 +02:00
2021-05-06 12:16:35 +02:00
2021-05-06 12:16:35 +02:00
2021-06-11 09:34:03 +02:00
2021-05-06 12:16:35 +02:00
2021-07-20 15:14:08 +02:00
2021-11-15 10:00:55 +01:00
2021-05-06 12:16:35 +02:00
2022-07-15 12:48:09 +01:00
2021-05-06 12:16:35 +02:00
2021-05-06 12:16:35 +02:00
2021-05-06 12:16:35 +02:00
2022-06-19 20:09:37 +01:00
2021-05-06 12:16:35 +02:00
2021-05-06 12:16:35 +02:00
2021-08-01 18:03:30 +01:00
2021-05-06 12:16:35 +02:00