CVE-2017-16790: Input Validation
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.
Other sources
CVE-2017-16790: Ensure that submitted data are uploaded files
Affected Software
Remediation
Event History
Frequently Asked Questions
What is CVE-2017-16790?
CVE-2017-16790 is a vulnerability in Symfony that allows uploaded files to be merged with POST data, potentially allowing an attacker to manipulate the data.
What is the severity of CVE-2017-16790?
The severity of CVE-2017-16790 is medium, with a severity value of 6.5.
Which versions of Symfony are affected by CVE-2017-16790?
Versions before 2.7.38, 2.8.31, 3.2.14, 3.3.13, 3.4-BETA5, and 4.0-BETA5 of Symfony are affected by CVE-2017-16790.
How can an attacker exploit CVE-2017-16790?
An attacker can exploit CVE-2017-16790 by submitting specially crafted files that are designed to manipulate the merged data.
Is there a fix for CVE-2017-16790?
Yes, the fix for CVE-2017-16790 is available in versions 3.4.22+dfsg-2+deb10u1, 3.4.22+dfsg-2+deb10u2, 4.4.19+dfsg-2+deb11u3, 5.4.23+dfsg-1, and 5.4.29+dfsg-1 of Symfony.