CVE-2019-18887: Use constant time comparison in UriSigner

Affected versions

Symfony 2.8.0 to 2.8.51, 3.4.0 to 3.4.34, 4.2.0 to 4.2.11 and 4.3.0 to 4.3.7 versions of the Symfony HttpKernel component are affected by this security issue.

The issue has been fixed in Symfony 2.8.52, 3.4.35, 4.2.12 and 4.3.8.

Note that no fixes are provided for Symfony 3.0, 3.1, 3.2, 3.3, 4.0 and 4.1 as they are not maintained anymore.

This will be the last Symfony 2.8 security fix as it enters EOL; please upgrade to a more recent version of Symfony to continue receiving updates.

Description

When checking the signature of an URI (an ESI fragment URL for instance), the URISigner did not used a constant time string comparison function, resulting in a potential remote timing attack vulnerability.

Resolution

We now use PHP's built-in hash_equals() function to compare strings.

The patch for this issue is available here for branch 4.2.

Credits

I would like to thank Felix Sokoliuk for reporting & Christophe Coevoet for fixing the issue.

Manage your notification preferences to receive an email as soon as a Symfony security release is published.
If you have found a security issue in Symfony, please send the details to security [at] symfony.com and don't disclose it publicly until we can provide a fix for it.

CVE-2019-18887: Use constant time comparison in UriSigner symfony.com/blog/cve-2019-18887-use-constant-time-comparison-in-urisigner

Tweet this

Comments

Login with SymfonyConnect to post a comment