Affected versions
Symfony 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 Cache component are affected by this security issue.
The issue has been fixed in Symfony 3.4.35, 4.2.12 and 4.3.8.
Note that no fixes are provided for Symfony 3.1, 3.2, 3.3, 4.0 and 4.1 as they are not maintained anymore.
Description
When an instance of TagAwareAdapter
is destructed, Symfony execute callables stored in privates properties in order to invalidates tags. When the instance has been created by unserializing an external payload, those properties are not checked leading to a remote code execution.
Resolution
Serializing and Unserializing of AbstractAdapter
and TagAwareAdapter
is now forbidden.
The patch for this issue is available here for branch 4.2.
Credits
I would like to thank wisdomtree for reporting & Nicolas Grekas for fixing the issue.