Affected Versions

All 2.0.X, 2.1.X, 2.2.X, 2.3.X, 2.4.X, and 2.5.X versions of the Symfony HttpFoundation component are affected by this security issue.

This issue has been fixed in Symfony 2.3.19, 2.4.9, and 2.5.4. Note that no fixes are provided for Symfony 2.0, 2.1, and 2.2 as they are not maintained anymore.

Description

When an arbitrarily long hostname is sent by a client, its parsing in Request::getHost() can lead to a DoS attack, due to the way we validate the hostname via a regular expression.

Resolution

The regular expression used to parse and validate the hostname from the HTTP request has been modified to avoid too much sensitivity to the submitted value length.

The patch for this issue is available here: https://github.com/symfony/symfony/pull/11828

Credits

I would like to thank Chris McCafferty for reporting this security issue, Nicolas Grekas and Lee Rowlands for providing a patch and some unit tests to avoid any future regressions, Christophe Coevoet and James Gilliland for reviewing the patch.

I also like to mention that this is the first time that the Drupal Security Team and the Symfony Security Team actively worked together on a security issue fix that both affected Symfony and Drupal.