{"id":"UBUNTU-CVE-2018-19789","details":"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.","modified":"2025-10-24T04:47:17Z","published":"2018-12-18T22:29:00Z","upstream":["CVE-2018-19789"],"references":[{"type":"REPORT","url":"https://ubuntu.com/security/CVE-2018-19789"},{"type":"REPORT","url":"https://symfony.com/blog/cve-2018-19789-disclosure-of-uploaded-files-full-path"},{"type":"REPORT","url":"https://www.cve.org/CVERecord?id=CVE-2018-19789"}],"affected":[{"package":{"name":"symfony","ecosystem":"Ubuntu:16.04:LTS","purl":"pkg:deb/ubuntu/symfony@2.7.10-0ubuntu2?arch=source&distro=xenial"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["2.7.1+dfsg-1","2.7.5+dfsg-1","2.7.9+dfsg-1","2.7.9+dfsg-1ubuntu2","2.7.10-0ubuntu2"],"ecosystem_specific":{"binaries":[{"binary_name":"php-symfony-asset","binary_version":"2.7.10-0ubuntu2"},{"binary_name":"php-symfony-browser-kit","binary_version":"2.7.10-0ubuntu2"},{"binary_name":"php-symfony-class-loader","binary_version":"2.7.10-0ubuntu2"},{"binary_name":"php-symfony-config","binary_version":"2.7.10-0ubuntu2"},{"binary_name":"php-symfony-console","binary_version":"2.7.10-0ubuntu2"},{"binary_name":"php-symfony-css-selector","binary_version":"2.7.10-0ubuntu2"},{"binary_name":"php-symfony-debug","binary_version":"2.7.10-0ubuntu2"},{"binary_name":"php-symfony-debug-bundle","binary_version":"2.7.10-0ubuntu2"},{"binary_name":"php-symfony-dependency-injection","binary_version":"2.7.10-0ubuntu2"},{"binary_name":"php-symfony-doctrine-bridge","binary_version":"2.7.10-0ubuntu2"},{"binary_name":"php-symfony-dom-crawler","binary_version":"2.7.10-0ubuntu2"},{"binary_name":"php-symfony-event-dispatcher","binary_version":"2.7.10-0ubuntu2"},{"binary_name":"php-symfony-expression-language","binary_version":"2.7.10-0ubuntu2"},{"binary_name":"php-symfony-filesystem","binary_version":"2.7.10-0ubuntu2"},{"binary_name":"php-symfony-finder","binary_version":"2.7.10-0ubuntu2"},{"binary_name":"php-symfony-form","binary_version":"2.7.10-0ubuntu2"},{"binary_name":"php-symfony-framework-bundle","binary_version":"2.7.10-0ubuntu2"},{"binary_name":"php-symfony-http-foundation","binary_version":"2.7.10-0ubuntu2"},{"binary_name":"php-symfony-http-kernel","binary_version":"2.7.10-0ubuntu2"},{"binary_name":"php-symfony-intl","binary_version":"2.7.10-0ubuntu2"},{"binary_name":"php-symfony-locale","binary_version":"2.7.10-0ubuntu2"},{"binary_name":"php-symfony-monolog-bridge","binary_version":"2.7.10-0ubuntu2"},{"binary_name":"php-symfony-options-resolver","binary_version":"2.7.10-0ubuntu2"},{"binary_name":"php-symfony-phpunit-bridge","binary_version":"2.7.10-0ubuntu2"},{"binary_name":"php-symfony-process","binary_version":"2.7.10-0ubuntu2"},{"binary_name":"php-symfony-property-access","binary_version":"2.7.10-0ubuntu2"},{"binary_name":"php-symfony-proxy-manager-bridge","binary_version":"2.7.10-0ubuntu2"},{"binary_name":"php-symfony-routing","binary_version":"2.7.10-0ubuntu2"},{"binary_name":"php-symfony-security","binary_version":"2.7.10-0ubuntu2"},{"binary_name":"php-symfony-security-bundle","binary_version":"2.7.10-0ubuntu2"},{"binary_name":"php-symfony-serializer","binary_version":"2.7.10-0ubuntu2"},{"binary_name":"php-symfony-stopwatch","binary_version":"2.7.10-0ubuntu2"},{"binary_name":"php-symfony-swiftmailer-bridge","binary_version":"2.7.10-0ubuntu2"},{"binary_name":"php-symfony-templating","binary_version":"2.7.10-0ubuntu2"},{"binary_name":"php-symfony-translation","binary_version":"2.7.10-0ubuntu2"},{"binary_name":"php-symfony-twig-bridge","binary_version":"2.7.10-0ubuntu2"},{"binary_name":"php-symfony-twig-bundle","binary_version":"2.7.10-0ubuntu2"},{"binary_name":"php-symfony-validator","binary_version":"2.7.10-0ubuntu2"},{"binary_name":"php-symfony-var-dumper","binary_version":"2.7.10-0ubuntu2"},{"binary_name":"php-symfony-web-profiler-bundle","binary_version":"2.7.10-0ubuntu2"},{"binary_name":"php-symfony-yaml","binary_version":"2.7.10-0ubuntu2"}]},"database_specific":{"source":"https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2018/UBUNTU-CVE-2018-19789.json"}},{"package":{"name":"symfony","ecosystem":"Ubuntu:Pro:18.04:LTS","purl":"pkg:deb/ubuntu/symfony@3.4.6+dfsg-1ubuntu0.1+esm2?arch=source&distro=esm-apps/bionic"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["2.8.7+dfsg-1.3ubuntu1","3.4.3+dfsg-1ubuntu4","3.4.6+dfsg-1","3.4.6+dfsg-1ubuntu0.1","3.4.6+dfsg-1ubuntu0.1+esm1","3.4.6+dfsg-1ubuntu0.1+esm2"],"ecosystem_specific":{"binaries":[{"binary_name":"php-symfony","binary_version":"3.4.6+dfsg-1ubuntu0.1+esm2"},{"binary_name":"php-symfony-asset","binary_version":"3.4.6+dfsg-1ubuntu0.1+esm2"},{"binary_name":"php-symfony-browser-kit","binary_version":"3.4.6+dfsg-1ubuntu0.1+esm2"},{"binary_name":"php-symfony-cache","binary_version":"3.4.6+dfsg-1ubuntu0.1+esm2"},{"binary_name":"php-symfony-class-loader","binary_version":"3.4.6+dfsg-1ubuntu0.1+esm2"},{"binary_name":"php-symfony-config","binary_version":"3.4.6+dfsg-1ubuntu0.1+esm2"},{"binary_name":"php-symfony-console","binary_version":"3.4.6+dfsg-1ubuntu0.1+esm2"},{"binary_name":"php-symfony-css-selector","binary_version":"3.4.6+dfsg-1ubuntu0.1+esm2"},{"binary_name":"php-symfony-debug","binary_version":"3.4.6+dfsg-1ubuntu0.1+esm2"},{"binary_name":"php-symfony-debug-bundle","binary_version":"3.4.6+dfsg-1ubuntu0.1+esm2"},{"binary_name":"php-symfony-dependency-injection","binary_version":"3.4.6+dfsg-1ubuntu0.1+esm2"},{"binary_name":"php-symfony-doctrine-bridge","binary_version":"3.4.6+dfsg-1ubuntu0.1+esm2"},{"binary_name":"php-symfony-dom-crawler","binary_version":"3.4.6+dfsg-1ubuntu0.1+esm2"},{"binary_name":"php-symfony-dotenv","binary_version":"3.4.6+dfsg-1ubuntu0.1+esm2"},{"binary_name":"php-symfony-event-dispatcher","binary_version":"3.4.6+dfsg-1ubuntu0.1+esm2"},{"binary_name":"php-symfony-expression-language","binary_version":"3.4.6+dfsg-1ubuntu0.1+esm2"},{"binary_name":"php-symfony-filesystem","binary_version":"3.4.6+dfsg-1ubuntu0.1+esm2"},{"binary_name":"php-symfony-finder","binary_version":"3.4.6+dfsg-1ubuntu0.1+esm2"},{"binary_name":"php-symfony-form","binary_version":"3.4.6+dfsg-1ubuntu0.1+esm2"},{"binary_name":"php-symfony-framework-bundle","binary_version":"3.4.6+dfsg-1ubuntu0.1+esm2"},{"binary_name":"php-symfony-http-foundation","binary_version":"3.4.6+dfsg-1ubuntu0.1+esm2"},{"binary_name":"php-symfony-http-kernel","binary_version":"3.4.6+dfsg-1ubuntu0.1+esm2"},{"binary_name":"php-symfony-inflector","binary_version":"3.4.6+dfsg-1ubuntu0.1+esm2"},{"binary_name":"php-symfony-intl","binary_version":"3.4.6+dfsg-1ubuntu0.1+esm2"},{"binary_name":"php-symfony-ldap","binary_version":"3.4.6+dfsg-1ubuntu0.1+esm2"},{"binary_name":"php-symfony-lock","binary_version":"3.4.6+dfsg-1ubuntu0.1+esm2"},{"binary_name":"php-symfony-monolog-bridge","binary_version":"3.4.6+dfsg-1ubuntu0.1+esm2"},{"binary_name":"php-symfony-options-resolver","binary_version":"3.4.6+dfsg-1ubuntu0.1+esm2"},{"binary_name":"php-symfony-phpunit-bridge","binary_version":"3.4.6+dfsg-1ubuntu0.1+esm2"},{"binary_name":"php-symfony-process","binary_version":"3.4.6+dfsg-1ubuntu0.1+esm2"},{"binary_name":"php-symfony-property-access","binary_version":"3.4.6+dfsg-1ubuntu0.1+esm2"},{"binary_name":"php-symfony-property-info","binary_version":"3.4.6+dfsg-1ubuntu0.1+esm2"},{"binary_name":"php-symfony-proxy-manager-bridge","binary_version":"3.4.6+dfsg-1ubuntu0.1+esm2"},{"binary_name":"php-symfony-routing","binary_version":"3.4.6+dfsg-1ubuntu0.1+esm2"},{"binary_name":"php-symfony-security","binary_version":"3.4.6+dfsg-1ubuntu0.1+esm2"},{"binary_name":"php-symfony-security-bundle","binary_version":"3.4.6+dfsg-1ubuntu0.1+esm2"},{"binary_name":"php-symfony-security-core","binary_version":"3.4.6+dfsg-1ubuntu0.1+esm2"},{"binary_name":"php-symfony-security-csrf","binary_version":"3.4.6+dfsg-1ubuntu0.1+esm2"},{"binary_name":"php-symfony-security-guard","binary_version":"3.4.6+dfsg-1ubuntu0.1+esm2"},{"binary_name":"php-symfony-security-http","binary_version":"3.4.6+dfsg-1ubuntu0.1+esm2"},{"binary_name":"php-symfony-serializer","binary_version":"3.4.6+dfsg-1ubuntu0.1+esm2"},{"binary_name":"php-symfony-stopwatch","binary_version":"3.4.6+dfsg-1ubuntu0.1+esm2"},{"binary_name":"php-symfony-templating","binary_version":"3.4.6+dfsg-1ubuntu0.1+esm2"},{"binary_name":"php-symfony-translation","binary_version":"3.4.6+dfsg-1ubuntu0.1+esm2"},{"binary_name":"php-symfony-twig-bridge","binary_version":"3.4.6+dfsg-1ubuntu0.1+esm2"},{"binary_name":"php-symfony-twig-bundle","binary_version":"3.4.6+dfsg-1ubuntu0.1+esm2"},{"binary_name":"php-symfony-validator","binary_version":"3.4.6+dfsg-1ubuntu0.1+esm2"},{"binary_name":"php-symfony-var-dumper","binary_version":"3.4.6+dfsg-1ubuntu0.1+esm2"},{"binary_name":"php-symfony-web-link","binary_version":"3.4.6+dfsg-1ubuntu0.1+esm2"},{"binary_name":"php-symfony-web-profiler-bundle","binary_version":"3.4.6+dfsg-1ubuntu0.1+esm2"},{"binary_name":"php-symfony-web-server-bundle","binary_version":"3.4.6+dfsg-1ubuntu0.1+esm2"},{"binary_name":"php-symfony-workflow","binary_version":"3.4.6+dfsg-1ubuntu0.1+esm2"},{"binary_name":"php-symfony-yaml","binary_version":"3.4.6+dfsg-1ubuntu0.1+esm2"}]},"database_specific":{"source":"https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2018/UBUNTU-CVE-2018-19789.json"}}],"schema_version":"1.7.3","severity":[{"type":"CVSS_V3","score":"CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N"},{"type":"Ubuntu","score":"medium"}]}