CVE-2019-18888: Prevent argument injection in a MimeTypeGuesser

Affected versions

Symfony 2.8.0 to 2.8.51, 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 HttpFoundation component are affected by this security issue. Symfony 4.3.0 to 4.3.7 versions of the Symfony Mime component are affected by this security issue.

The issue has been fixed in Symfony 2.8.52, 3.4.35, 4.2.12 and 4.3.8.

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

This will be the last Symfony 2.8 security fix as it enters EOL; please upgrade to a more recent version of Symfony to continue receiving updates.

Description

Provided file paths were not being properly escaped before being used in the FileBinaryMimeTypeGuesser resulting in potential argument injection through the provided $path variable.

Resolution

We now ensure that the value passed to $file passed cannot contain arguments.

The patches for this issue are available here for the Symfony HttpFoundation component and branch 4.2 and here for the Symfony Mime component and branch 4.3.

Credits

I would like to thank Ivan Novikov 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-18888: Prevent argument injection in a MimeTypeGuesser symfony.com/blog/cve-2019-18888-prevent-argument-injection-in-a-mimetypeguesser

Tweet this

Comments

Thanks! 🙏🏼
Login with SymfonyConnect to post a comment