November 13, 2019 Fabien Potencier

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.