Limit size of properties to 2048 characters

It is unreasonable to expect that one of these fields would be longer
than 2048 characters. Whilst some have definitely lower limits (such as
for phone numbers or domain names), a upper bound as sanity check makes
sense.

Signed-off-by: Lukas Reschke <lukas@statuscode.ch>
This commit is contained in:
Lukas Reschke 2021-04-06 16:00:44 +00:00 committed by backportbot[bot]
parent 87212ab097
commit ad91f39c46
1 changed files with 11 additions and 0 deletions

View File

@ -144,6 +144,17 @@ class AccountManager implements IAccountManager {
} }
} }
// set a max length
foreach ($data as $propertyName => $propertyData) {
if (isset($data[$propertyName]) && isset($data[$propertyName]['value']) && strlen($data[$propertyName]['value']) > 2048) {
if ($throwOnData) {
throw new \InvalidArgumentException($propertyName);
} else {
$data[$propertyName]['value'] = '';
}
}
}
$allowedScopes = [ $allowedScopes = [
self::SCOPE_PRIVATE, self::SCOPE_PRIVATE,
self::SCOPE_LOCAL, self::SCOPE_LOCAL,