CVE-2019-18889: Forbid serializing AbstractAdapter and TagAwareAdapter instances

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.

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-18889: Forbid serializing AbstractAdapter and TagAwareAdapter instances symfony.com/blog/cve-2019-18889-forbid-serializing-abstractadapter-and-tagawareadapter-instances

Tweet this

Comments

Login with SymfonyConnect to post a comment