Security advisory
Nextcloud Server is a Nextcloud package that handles data storage. In versions prior to 19.0.13, 20.0.11, and 21.0.3, filenames where not escaped by default in controllers using `DownloadResponse`. When a user-supplied filename was passed unsanitized into a `DownloadResponse`, this could be used to trick users into downloading malicious files with a benign file extension. This would show in UI behaviours where Nextcloud applications would display a benign file extension (e.g. JPEG), but the file will actually be downloaded with an executable file extension. The vulnerability is patched in versions 19.0.13, 20.0.11, and 21.0.3. Administrators of Nextcloud instances do not have a workaround available, but developers of Nextcloud apps may manually escape the file name before passing it into `DownloadResponse`.
- Products
- Not specified
- Affected versions
- Not specified
- Fixed versions
- Not specified
- CVEs
- CVE-2021-32679
- Confirmed fixed CVEs
- Not specified
- Updated in this feed
- 31 Oct 2026, 11:46 UTC · Revision 1
Source evidence
Nextcloud Server is a Nextcloud package that handles data storage. In versions prior to 19.0.13, 20.0.11, and 21.0.3, filenames where not escaped by default in controllers using `DownloadResponse`. When a user-supplied filename was passed unsanitized into a `DownloadResponse`, this could be used to trick users into downloading malicious files with a benign file extension. This would show in UI behaviours where Nextcloud applications would display a benign file extension (e.g. JPEG), but the file will actually be downloaded with an executable file extension. The vulnerability is patched in versions 19.0.13, 20.0.11, and 21.0.3. Administrators of Nextcloud instances do not have a workaround available, but developers of Nextcloud apps may manually escape the file name before passing it into `DownloadResponse`.
osv:CVE-2021-32679
Complete source record
{
"id": "b30826e4d9c8e3bc52f34b2a709ad678e01de8473e86ef486fd9658fcd0d353b",
"url": "https://osv.dev/vulnerability/CVE-2021-32679",
"method": "structured",
"payload": {
"kind": "advisory",
"title": "CVE-2021-32679",
"summary": "Nextcloud Server is a Nextcloud package that handles data storage. In versions prior to 19.0.13, 20.0.11, and 21.0.3, filenames where not escaped by default in controllers using `DownloadResponse`. When a user-supplied filename was passed unsanitized into a `DownloadResponse`, this could be used to trick users into downloading malicious files with a benign file extension. This would show in UI behaviours where Nextcloud applications would display a benign file extension (e.g. JPEG), but the file will actually be downloaded with an executable file extension. The vulnerability is patched in versions 19.0.13, 20.0.11, and 21.0.3. Administrators of Nextcloud instances do not have a workaround available, but developers of Nextcloud apps may manually escape the file name before passing it into `DownloadResponse`.",
"evidence": "osv:CVE-2021-32679",
"products": [],
"severity": "high",
"structured": {
"id": "CVE-2021-32679",
"aliases": [
"CVE-2021-32679",
"GHSA-3hjp-26x8-mhf6"
],
"metrics": [
{
"type": "CVSS_V3",
"score": "CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H"
}
],
"affected": [
{
"ranges": [
{
"repo": "https://github.com/nextcloud/server",
"type": "GIT",
"events": [
{
"introduced": "0"
},
{
"fixed": "3845aa47869e6787bf9b25cae59f9b999c6f7807"
},
{
"introduced": "615b994816710a595243d704c9be445f736b4b41"
},
{
"fixed": "3eb0ce9892933c36672e8ba35e771e48a5309321"
},
{
"introduced": "8985b7930653139859002eb3eca2852999ed8f0d"
},
{
"fixed": "5d04a3fed226c370feca686032f47d5422b02bb2"
}
],
"database_specific": {
"extracted_events": [
{
"cpe": "cpe:2.3:a:nextcloud:nextcloud_server:*:*:*:*:*:*:*:*",
"range": [
{
"introduced": "0"
},
{
"fixed": "19.0.13"
}
],
"source": "CPE_RANGE"
},
{
"cpe": "cpe:2.3:a:nextcloud:nextcloud_server:*:*:*:*:*:*:*:*",
"range": [
{
"introduced": "20.0.0"
},
{
"fixed": "20.0.11"
}
],
"source": "CPE_RANGE"
},
{
"cpe": "cpe:2.3:a:nextcloud:nextcloud_server:*:*:*:*:*:*:*:*",
"range": [
{
"introduced": "21.0.0"
},
{
"fixed": "21.0.3"
}
],
"source": "CPE_RANGE"
}
]
}
}
],
"versions": [
"v19.0.13rc1",
"v21.0.3rc1",
"v20.0.11rc1",
"v19.0.11",
"v20.0.10",
"v21.0.2",
"v19.0.11RC1",
"v20.0.10RC1",
"v21.0.2RC1",
"v19.0.10",
"v20.0.9",
"v21.0.1",
"v19.0.10RC1",
"v21.0.1RC1",
"v20.0.9RC1",
"v19.0.9",
"v20.0.8",
"v21.0.0",
"v19.0.9RC1",
"v20.0.8RC1",
"v20.0.7RC1",
"v20.0.7",
"v19.0.8",
"v20.0.6",
"v19.0.8RC1",
"v20.0.6RC1",
"v19.0.7",
"v20.0.5",
"v20.0.5RC2",
"v19.0.7RC1",
"v20.0.5RC1",
"v20.0.4",
"v19.0.6",
"v20.0.3",
"v19.0.6RC2",
"v20.0.3RC2",
"v19.0.5",
"v20.0.2",
"v19.0.5RC2",
"v20.0.2RC2",
"v19.0.5RC1",
"v20.0.2RC1",
"v20.0.1",
"v20.0.1RC1",
"v19.0.4",
"v19.0.4RC2",
"v20.0.0",
"v19.0.40RC1",
"v19.0.3",
"v19.0.3RC1",
"v19.0.2",
"v19.0.2RC2",
"v19.0.2RC1",
"v19.0.1",
"v19.0.1RC1",
"v19.0.0",
"v19.0.0RC3",
"v19.0.0RC1",
"v19.0.0beta7",
"v19.0.0beta6",
"v19.0.0beta5",
"v19.0.0beta4",
"v19.0.0beta3",
"v19.0.0beta2",
"v19.0.0beta1",
"v18.0.0RC1",
"v18.0.0beta4",
"v18.0.0beta3",
"v18.0.0beta2",
"v18.0.0beta1",
"v17.0.0beta4",
"v17.0.0beta3",
"v17.0.0beta2",
"v17.0.0beta1",
"v16.0.0RC1",
"v16.0.0beta3",
"v16.0.0beta2",
"v16.0.0beta1",
"v16.0.0alpha1",
"v15.0.0RC1",
"v15.0.0beta2",
"v15.0.0beta1",
"v14.0.0RC2",
"v14.0.0RC1",
"v14.0.0beta4",
"v14.0.0beta3",
"v14.0.0beta2",
"v14.0.0beta1",
"v13.0.0RC1",
"v13.0.0beta4",
"v13.0.0beta3",
"v13.0.0beta2",
"v13.0.0beta1",
"v12.0.0beta4",
"v12.0.0beta3",
"v12.0.0beta2",
"v12.0.0beta1",
"v11.0.0",
"v11.0RC2",
"v9.1.0beta1",
"v9.0.0beta2",
"v9.0beta1",
"v8.2RC1",
"v8.2beta1",
"v8.1RC2",
"v8.1.0beta2",
"v8.1.0beta1",
"v8.1.0alpha2",
"v8.1.0alpha1",
"v8.0.0",
"v8.0.0RC2",
"v8.0.0RC1",
"v8.0.0beta2",
"v8.0.0beta1",
"v8.0.0alpha2",
"v8.0.0alpha1",
"v7.0.0beta1",
"v7.0.0alpha2",
"v6.0.0RC2",
"v6.0.0RC1",
"v6.0.0beta5",
"v6.0.0beta4",
"v6.0.0beta3",
"v6.0.0beta2",
"v6.0.0alpha2",
"v5.0.0",
"v5.0.0RC3",
"v5.0.0RC2",
"v5.0.0RC1",
"v5.0.0beta2",
"v5.0.0beta1",
"v5.0.0alpha1",
"v4.5.0",
"v4.5.0RC3",
"v4.5.0RC2",
"v4.5.0RC1",
"v4.5.0beta4",
"v4.5.0beta3",
"v4.0.6",
"v4.0.5",
"v4.0.4",
"v4.0.1",
"v4.0.0",
"v4.0.0RC2",
"v4.0.0RC",
"v4.0.0beta",
"v3.0",
"v1.0.0beta1"
],
"database_specific": {
"source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2021-32679.json"
}
}
],
"modified": "2026-10-20T10:54:42.150607408Z",
"provider": "osv",
"references": [
"https://lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/BVZS26RDME2DYTKET5AECRIZDFUGR2AZ/",
"https://lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/J63NBVPR2AQCAWRNDOZSGRY5II4WS2CZ/",
"https://github.com/nextcloud/security-advisories/security/advisories/GHSA-3hjp-26x8-mhf6",
"https://security.gentoo.org/glsa/202208-17",
"https://hackerone.com/reports/1215263",
"https://github.com/nextcloud/server/pull/27354"
],
"provider_metadata": {
"unresolved_ranges": [
{
"cpes": [
"cpe:2.3:o:fedoraproject:fedora:33:*:*:*:*:*:*:*",
"cpe:2.3:o:fedoraproject:fedora:34:*:*:*:*:*:*:*"
],
"vendor_product": "fedoraproject:fedora",
"extracted_events": [
{
"range": [
{
"introduced": "33"
},
{
"last_affected": "33"
},
{
"introduced": "34"
},
{
"last_affected": "34"
}
],
"source": "CPE_STRING"
}
]
}
]
}
},
"related_cves": [
{
"value": "CVE-2021-32679",
"evidence": "/id"
}
],
"security_relevant": true,
"severity_evidence": "/severity/0/score"
},
"source_id": "core-osv",
"document_id": 385930,
"published_at": "2021-07-12T13:15:08.013+00:00"
}