CVE-2019-10912 Deserialization of untrusted data in Symfony
Attackers can delete files accessible to the application user by exploiting unsafe deserialization in Symfony's caching mechanism.
- Exploited in the wild
- Not known
- Login needed
- Any signed-in user
- Attackable
- Over the internet
- Victim action needed
- Not needed
- Fix
- Available
What is CVE-2019-10912?
CVE-2019-10912 is a high-severity unsafe deserialization vulnerability in Sensiolabs Symfony, published on 16 May 2019. Any signed-in user can exploit it over the network, with no action from the victim.
Official description
In Symfony before 2.8.50, 3.x before 3.4.26, 4.x before 4.1.12, and 4.2.x before 4.2.7, it is possible to cache objects that may contain bad user input. On serialization or unserialization, this could result in the deletion of files that the current user has access to. This is related to symfony/cache and symfony/phpunit-bridge.
Weakness: CWE-502
Which versions are affected by CVE-2019-10912?
26 open source packages ship an affected version, including symfony/phpunit-bridge, symfony/cache and symfony/symfony. It affects 1 product.
| Package | Affected | Fixed in |
|---|---|---|
symfony/phpunit-bridge Packagist | From 2.8.0 | 2.8.50 |
symfony/phpunit-bridge Packagist | From 2.8.0 | 2.8.50 |
symfony/phpunit-bridge Packagist | From 3.0.0 | 3.4.26 |
symfony/phpunit-bridge Packagist | From 3.0.0 | 3.4.26 |
symfony/phpunit-bridge Packagist | From 4.0.0 | 4.1.12 |
symfony/phpunit-bridge Packagist | From 4.0.0 | 4.1.12 |
20 more packages
symfony/phpunit-bridge Packagist | From 4.2.0 | 4.2.7 |
symfony/phpunit-bridge Packagist | From 4.2.0 | 4.2.7 |
symfony/cache Packagist | From 3.1.0 | 3.4.26 |
symfony/cache Packagist | From 3.1.0 | 3.4.26 |
symfony/cache Packagist | From 4.0.0 | 4.1.12 |
symfony/cache Packagist | From 4.0.0 | 4.1.12 |
symfony/cache Packagist | From 4.2.0 | 4.2.7 |
symfony/cache Packagist | From 4.2.0 | 4.2.7 |
symfony/symfony Packagist | From 2.8.0 | 2.8.50 |
symfony/symfony Packagist | From 2.8.0 | 2.8.50 |
symfony/symfony Packagist | From 3.0.0 | 3.4.26 |
symfony/symfony Packagist | From 3.0.0 | 3.4.26 |
symfony/symfony Packagist | From 4.0.0 | 4.1.12 |
symfony/symfony Packagist | From 4.0.0 | 4.1.12 |
symfony/symfony Packagist | From 4.2.0 | 4.2.7 |
symfony/symfony Packagist | From 4.2.0 | 4.2.7 |
typo3/cms Packagist | From 9.0.0 | 9.5.8 |
typo3/cms Packagist | From 9.0.0 | 9.5.8 |
typo3/cms-core Packagist | From 9.0.0 | 9.5.8 |
typo3/cms-core Packagist | From 9.0.0 | 9.5.8 |
Products include Sensiolabs Symfony.
How do I fix CVE-2019-10912?
Upgrade symfony/phpunit-bridge to a fixed version for your release line: 2.8.50, 3.4.26, 4.1.12 or 4.2.7.
Upgrade, and only deserialise data from trusted sources or with an allow-list of types. More about Unsafe deserialization.
Is CVE-2019-10912 being exploited?
There is no known exploitation of CVE-2019-10912 in the wild and no public exploit code.
Other vulnerabilities in Sensiolabs Symfony
Sources
Also known as DEBIAN-CVE-2019-10912, GHSA-w2fr-65vp-mxw3, UBUNTU-CVE-2019-10912.