Symfony SSRF Vulnerability via Form Component
Summary
CVE-2017-16790: Symfony SSRF Vulnerability via Form Component. Affects symfony/form across 4 version ranges.
>= 2.7.0, < 2.7.38
>= 2.8.0, < 2.8.31
>= 3.0.0, < 3.2.14
>= 3.3.0, < 3.3.13
Fixed in 4 releases; the minimum fixed version depends on the release line you run. How to fix ↓
Also tracked for
- symfony · Debian:11
The same CVE-2017-16790 is tracked separately for each ecosystem and vendor. Its fix information is the same; the package and affected versions differ.
Check if this vulnerability affects your application
Upload a manifest or SBOM and we'll show whether you're affected, plus every other risky package in the same scan.
No signup required · Results in about 60 seconds
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.
How To Fix
Fixed versions by release line
The minimum fixed version depends on the release line you run.
-
>= 2.7.0, < 2.7.382.7.38composer require symfony/form:2.7.38 -
>= 2.8.0, < 2.8.312.8.31composer require symfony/form:2.8.31 -
>= 3.0.0, < 3.2.143.2.14composer require symfony/form:3.2.14 -
>= 3.3.0, < 3.3.133.3.13composer require symfony/form:3.3.13
Tip — Not sure which release line you're on? Vulert can find the fix for the version you are using. Scan free →