- Affected version
- 2.2.13
\XF\Util\Random::getRandomString()
generates a cryptographically secure random value (by calling \XF\Util\Random::getRandomBytes()
) but then calls base64_encode
to generate a string from those bytes.AFAIK,
base64_encode
is not constant time so could be vulnerable to timing attacks.It might therefore be better to use
sodium_bin2base64
instead (if available) or fallback to bundled ParagonIE_Sodium_Core_Base64_UrlSafe
if not.