anti-DoS rounds count limits for blowfish and des crypt
all of the limits could use review, but err on the side of avoiding excessive rounds for now.
This commit is contained in:
@@ -625,7 +625,7 @@ static char *BF_crypt(const char *key, const char *setting,
|
||||
}
|
||||
|
||||
count = (BF_word)1 << ((setting[4] - '0') * 10 + (setting[5] - '0'));
|
||||
if (count < min || BF_decode(data.binary.salt, &setting[7], 16)) {
|
||||
if (count < min || count > 2048 || BF_decode(data.binary.salt, &setting[7], 16)) {
|
||||
return NULL;
|
||||
}
|
||||
BF_swap(data.binary.salt, 4);
|
||||
|
||||
@@ -911,7 +911,7 @@ static char *_crypt_extended_r_uut(const char *_key, const char *_setting, char
|
||||
return NULL;
|
||||
count |= value << (i - 1) * 6;
|
||||
}
|
||||
if (!count)
|
||||
if (!count || count > 262143)
|
||||
return NULL;
|
||||
|
||||
for (i = 5, salt = 0; i < 9; i++) {
|
||||
|
||||
Reference in New Issue
Block a user