CVE-2017-16790
Description
An issue was discovered in Symfony before 2.7.38, 2.8.31, 3.2.14, 3.3.13, 3.4-BETA5, and 4.0-BETA5. When a form is submitted by the user, the request handler classes of the Form component merge POST data and uploaded files data into one array. This big array forms the data that are then bound to the form. At this stage there is no difference anymore between submitted POST data and uploaded files. A user can send a crafted HTTP request where the value of a "FileType" is sent as normal POST data that could be interpreted as a local file path on the server-side (for example, "file:///etc/passwd"). If the application did not perform any additional checks about the value submitted to the "FileType", the contents of the given file on the server could have been exposed to the attacker.
Predictions
Heuristic predictions, AS-IS, for prioritization only.
Mitigations
No mitigations published for this CVE yet.
The vendor-content worker queues fetches as references arrive (check back in a few minutes). Or โ if you've already worked around this in production โ publish your fix to the community-verified tier.
โ Propose a mitigation on Community โ Mitigations published via the community go through AI scoring + 2 human reviewers + 7-day silent objection window before landing here withsource_tier=community-verified.
OS impact
Debian Fixed 5 releases
| Version | Status | Fixed in |
|---|---|---|
| trixie | Fixed | 3.4.0+dfsg-1 |
| sid | Fixed | 3.4.0+dfsg-1 |
| forky | Fixed | 3.4.0+dfsg-1 |
| bullseye | Fixed | 3.4.0+dfsg-1 |
| bookworm | Fixed | 3.4.0+dfsg-1 |
Package impact
| Ecosystem | Package | Vulnerable | Fixed |
|---|---|---|---|
| Packagist | symfony/form | >=2.7.0,<2.7.38 | 2.7.38 |
| Packagist | symfony/form | >=2.8.0,<2.8.31 | 2.8.31 |
| Packagist | symfony/form | >=3.0.0,<3.2.14 | 3.2.14 |
| Packagist | symfony/form | >=3.3.0,<3.3.13 | 3.3.13 |
| Packagist | symfony/symfony | >=2.7.0,<2.7.38 | 2.7.38 |
| Packagist | symfony/symfony | >=2.8.0,<2.8.31 | 2.8.31 |
| Packagist | symfony/symfony | >=3.0.0,<3.2.14 | 3.2.14 |
| Packagist | symfony/symfony | >=3.3.0,<3.3.13 | 3.3.13 |
References
- https://nvd.nist.gov/vuln/detail/CVE-2017-16790
- https://github.com/symfony/symfony/pull/24993
- https://github.com/FriendsOfPHP/security-advisories/blob/master/symfony/form/CVE-2017-16790.yaml
- https://github.com/FriendsOfPHP/security-advisories/blob/master/symfony/symfony/CVE-2017-16790.yaml
- https://github.com/symfony/form
- https://symfony.com/blog/cve-2017-16790-ensure-that-submitted-data-are-uploaded-files
- https://symfony.com/cve-2017-16790
- https://www.debian.org/security/2018/dsa-4262
- https://security-tracker.debian.org/tracker/CVE-2017-16790
Community-verified mitigations for this CVE will appear above when contributors publish them.
Verify integrity in audit chain (admin only). AS-IS.