Symfony 6 Certification New exam with updated questions 100% online Show your expertise

CVE-2018-11386: Denial of service when using PDOSessionHandler

Affected versions

Symfony 2.7.0 to 2.7.47, 2.8.0 to 2.8.40, 3.3.0 to 3.3.16, 3.4.0 to 3.4.10, and 4.0.0 to 4.0.10 versions of the Symfony http-foundation component are affected by this security issue.

The issue has been fixed in Symfony 2.7.48, 2.8.41, 3.3.17, 3.4.11, and 4.0.11. 4.1.0 has also been fixed before its final release.

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


The PDOSessionHandler class allows to store sessions on a PDO connection. Under some configurations (see below) and with a well-crafted payload, it was possible to do a denial of service on a Symfony application without too much resources.

An application is vulnerable when:

  • It is using PDOSessionHandler to store its sessions;

  • And it uses MySQL as a backend for sessions managed by PDOSessionHandler;

  • And the SQL mode does not contain STRICT_ALL_TABLES or STRICT_TRANS_TABLES (check via SELECT @@sql_mode).

When an application has this configuration, doing a denial of service is made easier as a well-crafted session leads to an infinite loop in the code.


We fixed this issue by avoiding the inifinite loop.


I would like to thank Federico Stange for reporting this security issue and for working with us trying to figure out when this issue occurred, Nicolas Grekas for working on a fix, and the Symfony Core Team for reviewing the patch.

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] and don't disclose it publicly until we can provide a fix for it.
Help the Symfony project!

As with any Open-Source project, contributing code or documentation is the most common way to help, but we also have a wide range of sponsoring opportunities.

CVE-2018-11386: Denial of service when using PDOSessionHandler

Tweet this


Comments are closed.

To ensure that comments stay relevant, they are closed for old posts.