Symfony Path Disclosure
Published 14 May 2022 · Updated 16 Feb 2024
Affected packages
- Affected
- >=2.7.0 <2.7.50
- Fixed in
- 2.7.50
composer require symfony/symfony:^2.7.50- Affected
- >=2.8.0 <2.8.49
- Fixed in
- 2.8.49
composer require symfony/symfony:^2.8.49- Affected
- >=3.0.0 <3.4.20
- Fixed in
- 3.4.20
composer require symfony/symfony:^3.4.20- Affected
- >=4.0.0 <4.0.15
- Fixed in
- 4.0.15
composer require symfony/symfony:^4.0.15- Affected
- >=4.1.0 <4.1.9
- Fixed in
- 4.1.9
composer require symfony/symfony:^4.1.9- Affected
- >=4.2.0 <4.2.1
- Fixed in
- 4.2.1
composer require symfony/symfony:^4.2.1- Affected
- >=2.7.0 <2.7.50
- Fixed in
- 2.7.50
composer require symfony/form:^2.7.50- Affected
- >=2.8.0 <2.8.49
- Fixed in
- 2.8.49
composer require symfony/form:^2.8.49- Affected
- >=3.0.0 <3.4.20
- Fixed in
- 3.4.20
composer require symfony/form:^3.4.20- Affected
- >=4.0.0 <4.0.15
- Fixed in
- 4.0.15
composer require symfony/form:^4.0.15- Affected
- >=4.1.0 <4.1.9
- Fixed in
- 4.1.9
composer require symfony/form:^4.1.9- Affected
- >=4.2.0 <4.2.1
- Fixed in
- 4.2.1
composer require symfony/form:^4.2.1Details
An issue was discovered in Symfony 2.7.x before 2.7.50, 2.8.x before 2.8.49, 3.x before 3.4.20, 4.0.x before 4.0.15, 4.1.x before 4.1.9, and 4.2.x before 4.2.1. When using the scalar type hint string in a setter method (e.g. setName(string $name)) of a class that's the data_class of a form, and when a file upload is submitted to the corresponding field instead of a normal text input, then UploadedFile::__toString() is called which will then return and disclose the path of the uploaded file. If combined with a local file inclusion issue in certain circumstances this could escalate it to a Remote Code Execution.
Is GHSA-x3cf-w64x-4cp2 in any of your client repos?
Checking one package by hand is fine. Checking it across forty client projects is not. NPMscan reads the lockfiles in every GitHub repo you pick, finds each project with an affected symfony/symfony, and gives you the command that fixes it.
References
- Advisorynvd.nist.gov/vuln/detail/CVE-2018-19789
- Linkgithub.com/symfony/symfony/commit/b65e6f1a47b68f2713b60cdac9cc3a4af62a2d1c
- Linkgithub.com/FriendsOfPHP/security-advisories/blob/master/symfony/form/CVE-2018-19789.yaml
- Linkgithub.com/FriendsOfPHP/security-advisories/blob/master/symfony/symfony/CVE-2018-19789.yaml
- Packagegithub.com/symfony/symfony
- Linklists.debian.org/debian-lts-announce/2019/03/msg00009.html
- Linklists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/4TD3E7FZIXLVFG3SMFJPDEKPZ26TJOW7
- Linklists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/JZMRJ7VTHCY5AZK24G4QGX36RLUDTDKE
- Linklists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/OA4WVFN5FYPIXAPLWZI6N425JHHDSWAZ
- Linkseclists.org/bugtraq/2019/May/21
- Linksymfony.com/blog/cve-2018-19789-disclosure-of-uploaded-files-full-path
- Linksymfony.com/cve-2018-19789
- Linkweb.archive.org/web/20210124224817/http://www.securityfocus.com/bid/106249
- Linkwww.debian.org/security/2019/dsa-4441
Advisory data from OSV.dev (opens OSV.dev in a new tab), refreshed daily.