GSD-2017-16790
Vulnerability from gsd - Updated: 2023-12-13 01:21Details
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.
Aliases
Aliases
{
"GSD": {
"alias": "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.",
"id": "GSD-2017-16790",
"references": [
"https://www.debian.org/security/2018/dsa-4262"
]
},
"gsd": {
"metadata": {
"exploitCode": "unknown",
"remediation": "unknown",
"reportConfidence": "confirmed",
"type": "vulnerability"
},
"osvSchema": {
"aliases": [
"CVE-2017-16790"
],
"details": "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.",
"id": "GSD-2017-16790",
"modified": "2023-12-13T01:21:00.473733Z",
"schema_version": "1.4.0"
}
},
"namespaces": {
"cve.org": {
"CVE_data_meta": {
"ASSIGNER": "cve@mitre.org",
"ID": "CVE-2017-16790",
"STATE": "PUBLIC"
},
"affects": {
"vendor": {
"vendor_data": [
{
"product": {
"product_data": [
{
"product_name": "n/a",
"version": {
"version_data": [
{
"version_value": "n/a"
}
]
}
}
]
},
"vendor_name": "n/a"
}
]
}
},
"data_format": "MITRE",
"data_type": "CVE",
"data_version": "4.0",
"description": {
"description_data": [
{
"lang": "eng",
"value": "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."
}
]
},
"problemtype": {
"problemtype_data": [
{
"description": [
{
"lang": "eng",
"value": "n/a"
}
]
}
]
},
"references": {
"reference_data": [
{
"name": "https://symfony.com/blog/cve-2017-16790-ensure-that-submitted-data-are-uploaded-files",
"refsource": "CONFIRM",
"url": "https://symfony.com/blog/cve-2017-16790-ensure-that-submitted-data-are-uploaded-files"
},
{
"name": "DSA-4262",
"refsource": "DEBIAN",
"url": "https://www.debian.org/security/2018/dsa-4262"
}
]
}
},
"gitlab.com": {
"advisories": [
{
"affected_range": "\u003e=v2.7.0-alpha0,\u003c=v2.7.37||\u003e=v2.8.0-alpha0,\u003c=v2.8.30 ||\u003e=v3.2.0-alpha0,\u003c=v3.2.13||\u003e=v3.3.0-alpha0,\u003c=v3.3.12",
"affected_versions": "All versions starting from v2.7.0-alpha0 up to v2.7.37, all versions starting from v2.8.0-alpha0 up to v2.8.30, all versions starting from v3.2.0-alpha0 up to v3.2.13, all versions starting from v3.3.0-alpha0 up to v3.3.12",
"credit": "Ondrej Exner",
"cvss_v2": "AV:N/AC:L/Au:S/C:P/I:N/A:N",
"cvss_v3": "CVSS:3.0/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N",
"cwe_ids": [
"CWE-1035",
"CWE-20",
"CWE-937"
],
"date": "2018-10-11",
"description": "When a form is submitted by the user, the request handler classes of the Form component merge POST data (known as the `$_POST` array in plain PHP) and uploaded files data (known as the `$_FILES` array in plain PHP) 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 locale 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.",
"fixed_versions": [
"v2.7.38",
"v2.8.31",
"v3.2.14",
"v3.3.13",
"v3.4-BETA5",
"v4.0-BETA5"
],
"identifier": "CVE-2017-16790",
"identifiers": [
"CVE-2017-16790"
],
"not_impacted": "All versions before v2.7.0-alpha0, all versions after v2.7.37 before v2.8.0-alpha0, all versions after v2.8.30 before v3.2.0-alpha0, all versions after v3.2.13 before v3.3.0-alpha0, all versions after v3.3.12",
"package_slug": "packagist/symfony/form",
"pubdate": "2018-08-06",
"solution": "Upgrade to versions v2.7.38, v2.8.31, v3.2.14, v3.3.13, v3.4-BETA5, v4.0-BETA5 or above.",
"title": "Attacker can read all files content on the server",
"urls": [
"http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-16790",
"http://symfony.com/blog/cve-2017-16790-ensure-that-submitted-data-are-uploaded-files",
"https://github.com/symfony/symfony/pull/24993"
],
"uuid": "e3034e95-5a59-4c92-8895-76470d3ca74d"
},
{
"affected_range": "\u003e=v2.7.0-alpha0,\u003c=v2.7.37||\u003e=v2.8.0-alpha0,\u003c=v2.8.30 ||\u003e=v3.2.0-alpha0,\u003c=v3.2.13||\u003e=v3.3.0-alpha0,\u003c=v3.3.12",
"affected_versions": "All versions starting from v2.7.0-alpha0 up to v2.7.37, all versions starting from v2.8.0-alpha0 up to v2.8.30, all versions starting from v3.2.0-alpha0 up to v3.2.13, all versions starting from v3.3.0-alpha0 up to v3.3.12",
"credit": "Ondrej Exner",
"cvss_v2": "AV:N/AC:L/Au:S/C:P/I:N/A:N",
"cvss_v3": "CVSS:3.0/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N",
"cwe_ids": [
"CWE-1035",
"CWE-20",
"CWE-937"
],
"date": "2018-10-11",
"description": "When a form is submitted by the user, the request handler classes of the Form component merge POST data (known as the `$_POST` array in plain PHP) and uploaded files data (known as the `$_FILES` array in plain PHP) 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 locale 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.",
"fixed_versions": [
"v2.7.38",
"v2.8.31",
"v3.2.14",
"v3.3.13",
"v3.4-BETA5",
"v4.0-BETA5"
],
"identifier": "CVE-2017-16790",
"identifiers": [
"CVE-2017-16790"
],
"not_impacted": "All versions before v2.7.0-alpha0, all versions after v2.7.37 before v2.8.0-alpha0, all versions after v2.8.30 before v3.2.0-alpha0, all versions after v3.2.13 before v3.3.0-alpha0, all versions after v3.3.12",
"package_slug": "packagist/symfony/symfony",
"pubdate": "2018-08-06",
"solution": "Upgrade to versions v2.7.38, v2.8.31, v3.2.14, v3.3.13, v3.4-BETA5, v4.0-BETA5 or above.",
"title": "Attacker can read all files content on the server",
"urls": [
"http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-16790",
"http://symfony.com/blog/cve-2017-16790-ensure-that-submitted-data-are-uploaded-files",
"https://github.com/symfony/symfony/pull/24993"
],
"uuid": "01f4462f-5e27-47d9-8f89-f38fefe1406b"
}
]
},
"nvd.nist.gov": {
"configurations": {
"CVE_data_version": "4.0",
"nodes": [
{
"children": [],
"cpe_match": [
{
"cpe23Uri": "cpe:2.3:a:sensiolabs:symfony:*:*:*:*:*:*:*:*",
"cpe_name": [],
"versionEndIncluding": "2.8.30",
"versionStartIncluding": "2.8.0",
"vulnerable": true
},
{
"cpe23Uri": "cpe:2.3:a:sensiolabs:symfony:*:*:*:*:*:*:*:*",
"cpe_name": [],
"versionEndIncluding": "3.2.13",
"versionStartIncluding": "3.2.0",
"vulnerable": true
},
{
"cpe23Uri": "cpe:2.3:a:sensiolabs:symfony:*:*:*:*:*:*:*:*",
"cpe_name": [],
"versionEndIncluding": "3.3.12",
"versionStartIncluding": "3.3.0",
"vulnerable": true
},
{
"cpe23Uri": "cpe:2.3:a:sensiolabs:symfony:*:*:*:*:*:*:*:*",
"cpe_name": [],
"versionEndIncluding": "2.7.37",
"versionStartIncluding": "2.7.0",
"vulnerable": true
}
],
"operator": "OR"
},
{
"children": [],
"cpe_match": [
{
"cpe23Uri": "cpe:2.3:o:debian:debian_linux:9.0:*:*:*:*:*:*:*",
"cpe_name": [],
"vulnerable": true
}
],
"operator": "OR"
}
]
},
"cve": {
"CVE_data_meta": {
"ASSIGNER": "cve@mitre.org",
"ID": "CVE-2017-16790"
},
"data_format": "MITRE",
"data_type": "CVE",
"data_version": "4.0",
"description": {
"description_data": [
{
"lang": "en",
"value": "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."
}
]
},
"problemtype": {
"problemtype_data": [
{
"description": [
{
"lang": "en",
"value": "CWE-20"
}
]
}
]
},
"references": {
"reference_data": [
{
"name": "DSA-4262",
"refsource": "DEBIAN",
"tags": [
"Third Party Advisory"
],
"url": "https://www.debian.org/security/2018/dsa-4262"
},
{
"name": "https://symfony.com/blog/cve-2017-16790-ensure-that-submitted-data-are-uploaded-files",
"refsource": "CONFIRM",
"tags": [
"Issue Tracking",
"Patch",
"Vendor Advisory"
],
"url": "https://symfony.com/blog/cve-2017-16790-ensure-that-submitted-data-are-uploaded-files"
}
]
}
},
"impact": {
"baseMetricV2": {
"cvssV2": {
"accessComplexity": "LOW",
"accessVector": "NETWORK",
"authentication": "SINGLE",
"availabilityImpact": "NONE",
"baseScore": 4.0,
"confidentialityImpact": "PARTIAL",
"integrityImpact": "NONE",
"vectorString": "AV:N/AC:L/Au:S/C:P/I:N/A:N",
"version": "2.0"
},
"exploitabilityScore": 8.0,
"impactScore": 2.9,
"obtainAllPrivilege": false,
"obtainOtherPrivilege": false,
"obtainUserPrivilege": false,
"severity": "MEDIUM",
"userInteractionRequired": false
},
"baseMetricV3": {
"cvssV3": {
"attackComplexity": "LOW",
"attackVector": "NETWORK",
"availabilityImpact": "NONE",
"baseScore": 6.5,
"baseSeverity": "MEDIUM",
"confidentialityImpact": "HIGH",
"integrityImpact": "NONE",
"privilegesRequired": "LOW",
"scope": "UNCHANGED",
"userInteraction": "NONE",
"vectorString": "CVSS:3.0/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N",
"version": "3.0"
},
"exploitabilityScore": 2.8,
"impactScore": 3.6
}
},
"lastModifiedDate": "2018-10-11T16:11Z",
"publishedDate": "2018-08-06T21:29Z"
}
}
}
Loading…
Loading…
Experimental. This forecast is provided for visualization only and may change without notice. Do not use it for operational decisions.
Forecast uses a logistic model when the trend is rising, or an exponential decay model when the trend is falling. Fitted via linearized least squares.
Sightings
| Author | Source | Type | Date | Other |
|---|
Nomenclature
- Seen: The vulnerability was mentioned, discussed, or observed by the user.
- Confirmed: The vulnerability has been validated from an analyst's perspective.
- Published Proof of Concept: A public proof of concept is available for this vulnerability.
- Exploited: The vulnerability was observed as exploited by the user who reported the sighting.
- Patched: The vulnerability was observed as successfully patched by the user who reported the sighting.
- Not exploited: The vulnerability was not observed as exploited by the user who reported the sighting.
- Not confirmed: The user expressed doubt about the validity of the vulnerability.
- Not patched: The vulnerability was not observed as successfully patched by the user who reported the sighting.
Loading…
Loading…