groovy, groovy2 — security advisory
Apache Groovy provides extension methods to aid with creating temporary directories. Prior to this fix, Groovy's implementation of those extension methods was using a now superseded Java JDK method call that is potentially not secure on some operating systems in some contexts. Users not using the extension methods mentioned in the advisory are not affected, but may wish to read the advisory for further details. Versions Affected: 2.0 to 2.4.20, 2.5.0 to 2.5.13, 3.0.0 to 3.0.6, and 4.0.0-alpha-1. Fixed in versions 2.4.21, 2.5.14, 3.0.7, 4.0.0-alpha-2.
- Products
- groovy, groovy2
- Affected versions
- 2.0.0~beta2+isreally1.8.6-4ubuntu1, 2.4.14-1, 2.4.15-1ubuntu1, 2.4.16-1ubuntu1~18.04.1, 2.4.16-2ubuntu1, 2.4.17-4ubuntu1, 2.4.21-1, 2.4.21-10, 2.4.21-10build1, 2.4.21-8, 2.4.21-9, 2.4.3+dfsg-2ubuntu1, 2.4.3+dfsg-3, 2.4.5-1, 2.4.5-1ubuntu0.1~esm1, 2.4.8-2, 2.4.8-3
- Fixed versions
- Not specified
- CVEs
- CVE-2020-17521
- Confirmed fixed CVEs
- Not specified
- Updated in this feed
- 31 Oct 2026, 00:56 UTC · Revision 1
Source evidence
Apache Groovy provides extension methods to aid with creating temporary directories. Prior to this fix, Groovy's implementation of those extension methods was using a now superseded Java JDK method call that is potentially not secure on some operating systems in some contexts. Users not using the extension methods mentioned in the advisory are not affected, but may wish to read the advisory for further details. Versions Affected: 2.0 to 2.4.20, 2.5.0 to 2.5.13, 3.0.0 to 3.0.6, and 4.0.0-alpha-1. Fixed in versions 2.4.21, 2.5.14, 3.0.7, 4.0.0-alpha-2.
osv:UBUNTU-CVE-2020-17521
groovy
Fixed versions: Not specified
groovy2
Fixed versions: Not specified
groovy
Fixed versions: Not specified
groovy
Fixed versions: Not specified
groovy
Fixed versions: Not specified
groovy
Fixed versions: Not specified
groovy
Fixed versions: Not specified
groovy
Fixed versions: Not specified
groovy
Fixed versions: Not specified
Complete source record
{
"id": "08abe5c02e5ac07fa8992ac2ac6592ff8767068d1ae60443ac8920fb298699ed",
"url": "https://osv.dev/vulnerability/UBUNTU-CVE-2020-17521",
"method": "structured",
"payload": {
"kind": "advisory",
"title": "UBUNTU-CVE-2020-17521",
"summary": "Apache Groovy provides extension methods to aid with creating temporary directories. Prior to this fix, Groovy's implementation of those extension methods was using a now superseded Java JDK method call that is potentially not secure on some operating systems in some contexts. Users not using the extension methods mentioned in the advisory are not affected, but may wish to read the advisory for further details. Versions Affected: 2.0 to 2.4.20, 2.5.0 to 2.5.13, 3.0.0 to 3.0.6, and 4.0.0-alpha-1. Fixed in versions 2.4.21, 2.5.14, 3.0.7, 4.0.0-alpha-2.",
"evidence": "osv:UBUNTU-CVE-2020-17521",
"products": [
{
"name": {
"value": "groovy",
"evidence": "/affected/0/package/name"
},
"prerequisites": [],
"fixed_versions": [],
"affected_versions": [
{
"value": "2.0.0~beta2+isreally1.8.6-4ubuntu1",
"evidence": "/affected/0/versions"
}
]
},
{
"name": {
"value": "groovy2",
"evidence": "/affected/1/package/name"
},
"prerequisites": [],
"fixed_versions": [],
"affected_versions": [
{
"value": "2.4.3+dfsg-2ubuntu1",
"evidence": "/affected/1/versions"
},
{
"value": "2.4.3+dfsg-3",
"evidence": "/affected/1/versions"
},
{
"value": "2.4.5-1",
"evidence": "/affected/1/versions"
},
{
"value": "2.4.5-1ubuntu0.1~esm1",
"evidence": "/affected/1/versions"
}
]
},
{
"name": {
"value": "groovy",
"evidence": "/affected/2/package/name"
},
"prerequisites": [],
"fixed_versions": [],
"affected_versions": [
{
"value": "2.4.8-2",
"evidence": "/affected/2/versions"
},
{
"value": "2.4.8-3",
"evidence": "/affected/2/versions"
},
{
"value": "2.4.14-1",
"evidence": "/affected/2/versions"
},
{
"value": "2.4.15-1ubuntu1",
"evidence": "/affected/2/versions"
},
{
"value": "2.4.16-1ubuntu1~18.04.1",
"evidence": "/affected/2/versions"
}
]
},
{
"name": {
"value": "groovy",
"evidence": "/affected/3/package/name"
},
"prerequisites": [],
"fixed_versions": [],
"affected_versions": [
{
"value": "2.4.16-2ubuntu1",
"evidence": "/affected/3/versions"
},
{
"value": "2.4.17-4ubuntu1",
"evidence": "/affected/3/versions"
}
]
},
{
"name": {
"value": "groovy",
"evidence": "/affected/4/package/name"
},
"prerequisites": [],
"fixed_versions": [],
"affected_versions": [
{
"value": "2.4.21-1",
"evidence": "/affected/4/versions"
}
]
},
{
"name": {
"value": "groovy",
"evidence": "/affected/5/package/name"
},
"prerequisites": [],
"fixed_versions": [],
"affected_versions": [
{
"value": "2.4.21-8",
"evidence": "/affected/5/versions"
},
{
"value": "2.4.21-9",
"evidence": "/affected/5/versions"
},
{
"value": "2.4.21-10",
"evidence": "/affected/5/versions"
}
]
},
{
"name": {
"value": "groovy",
"evidence": "/affected/6/package/name"
},
"prerequisites": [],
"fixed_versions": [],
"affected_versions": [
{
"value": "2.4.21-10",
"evidence": "/affected/6/versions"
}
]
},
{
"name": {
"value": "groovy",
"evidence": "/affected/7/package/name"
},
"prerequisites": [],
"fixed_versions": [],
"affected_versions": [
{
"value": "2.4.21-10build1",
"evidence": "/affected/7/versions"
}
]
},
{
"name": {
"value": "groovy",
"evidence": "/affected/8/package/name"
},
"prerequisites": [],
"fixed_versions": [],
"affected_versions": [
{
"value": "2.4.21-10",
"evidence": "/affected/8/versions"
},
{
"value": "2.4.21-10build1",
"evidence": "/affected/8/versions"
}
]
}
],
"severity": "medium",
"structured": {
"id": "UBUNTU-CVE-2020-17521",
"aliases": [
"UBUNTU-CVE-2020-17521"
],
"metrics": [
{
"type": "CVSS_V3",
"score": "CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N"
},
{
"type": "Ubuntu",
"score": "low"
}
],
"affected": [
{
"ranges": [
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "0"
}
]
}
],
"package": {
"name": "groovy",
"purl": "pkg:deb/ubuntu/groovy?arch=source&distro=xenial",
"ecosystem": "Ubuntu:16.04:LTS"
},
"versions": [
"2.0.0~beta2+isreally1.8.6-4ubuntu1"
],
"database_specific": {
"source": "https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2020/UBUNTU-CVE-2020-17521.json"
},
"ecosystem_specific": {
"binaries": [
{
"binary_name": "groovy",
"binary_version": "2.0.0~beta2+isreally1.8.6-4ubuntu1"
}
]
}
},
{
"ranges": [
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "0"
}
]
}
],
"package": {
"name": "groovy2",
"purl": "pkg:deb/ubuntu/groovy2?arch=source&distro=esm-apps%2Fxenial",
"ecosystem": "Ubuntu:Pro:16.04:LTS"
},
"versions": [
"2.4.3+dfsg-2ubuntu1",
"2.4.3+dfsg-3",
"2.4.5-1",
"2.4.5-1ubuntu0.1~esm1"
],
"database_specific": {
"source": "https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2020/UBUNTU-CVE-2020-17521.json"
},
"ecosystem_specific": {
"binaries": [
{
"binary_name": "groovy2",
"binary_version": "2.4.5-1ubuntu0.1~esm1"
}
]
}
},
{
"ranges": [
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "0"
}
]
}
],
"package": {
"name": "groovy",
"purl": "pkg:deb/ubuntu/groovy?arch=source&distro=bionic",
"ecosystem": "Ubuntu:18.04:LTS"
},
"versions": [
"2.4.8-2",
"2.4.8-3",
"2.4.14-1",
"2.4.15-1ubuntu1",
"2.4.16-1ubuntu1~18.04.1"
],
"database_specific": {
"source": "https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2020/UBUNTU-CVE-2020-17521.json"
},
"ecosystem_specific": {
"binaries": [
{
"binary_name": "groovy",
"binary_version": "2.4.16-1ubuntu1~18.04.1"
}
]
}
},
{
"ranges": [
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "0"
}
]
}
],
"package": {
"name": "groovy",
"purl": "pkg:deb/ubuntu/groovy?arch=source&distro=focal",
"ecosystem": "Ubuntu:20.04:LTS"
},
"versions": [
"2.4.16-2ubuntu1",
"2.4.17-4ubuntu1"
],
"database_specific": {
"source": "https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2020/UBUNTU-CVE-2020-17521.json"
},
"ecosystem_specific": {
"binaries": [
{
"binary_name": "groovy",
"binary_version": "2.4.17-4ubuntu1"
}
]
}
},
{
"ranges": [
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "0"
}
]
}
],
"package": {
"name": "groovy",
"purl": "pkg:deb/ubuntu/groovy?arch=source&distro=jammy",
"ecosystem": "Ubuntu:22.04:LTS"
},
"versions": [
"2.4.21-1"
],
"database_specific": {
"source": "https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2020/UBUNTU-CVE-2020-17521.json"
},
"ecosystem_specific": {
"binaries": [
{
"binary_name": "groovy",
"binary_version": "2.4.21-1"
}
]
}
},
{
"ranges": [
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "0"
}
]
}
],
"package": {
"name": "groovy",
"purl": "pkg:deb/ubuntu/groovy?arch=source&distro=noble",
"ecosystem": "Ubuntu:24.04:LTS"
},
"versions": [
"2.4.21-8",
"2.4.21-9",
"2.4.21-10"
],
"database_specific": {
"source": "https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2020/UBUNTU-CVE-2020-17521.json"
},
"ecosystem_specific": {
"binaries": [
{
"binary_name": "groovy",
"binary_version": "2.4.21-10"
}
]
}
},
{
"ranges": [
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "0"
}
]
}
],
"package": {
"name": "groovy",
"purl": "pkg:deb/ubuntu/groovy?arch=source&distro=questing",
"ecosystem": "Ubuntu:25.10"
},
"versions": [
"2.4.21-10"
],
"database_specific": {
"source": "https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2020/UBUNTU-CVE-2020-17521.json"
},
"ecosystem_specific": {
"binaries": [
{
"binary_name": "groovy",
"binary_version": "2.4.21-10"
}
]
}
},
{
"ranges": [
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "0"
}
]
}
],
"package": {
"name": "groovy",
"purl": "pkg:deb/ubuntu/groovy?arch=source&distro=stonking",
"ecosystem": "Ubuntu:26.10"
},
"versions": [
"2.4.21-10build1"
],
"database_specific": {
"source": "https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2020/UBUNTU-CVE-2020-17521.json"
},
"ecosystem_specific": {
"binaries": [
{
"binary_name": "groovy",
"binary_version": "2.4.21-10build1"
}
]
}
},
{
"ranges": [
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "0"
}
]
}
],
"package": {
"name": "groovy",
"purl": "pkg:deb/ubuntu/groovy?arch=source&distro=resolute",
"ecosystem": "Ubuntu:26.04:LTS"
},
"versions": [
"2.4.21-10",
"2.4.21-10build1"
],
"database_specific": {
"source": "https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2020/UBUNTU-CVE-2020-17521.json"
},
"ecosystem_specific": {
"binaries": [
{
"binary_name": "groovy",
"binary_version": "2.4.21-10build1"
}
]
}
}
],
"modified": "2026-10-17T12:56:18.692032433Z",
"provider": "osv",
"upstream": [
"CVE-2020-17521"
],
"references": [
"https://ubuntu.com/security/CVE-2020-17521",
"https://issues.apache.org/jira/browse/GROOVY-9824",
"https://www.openwall.com/lists/oss-security/2020/12/06/1",
"https://github.com/apache/groovy/commit/4e418d4a34c973a7ec1e822552103043ac13780e",
"https://groovy-lang.org/security.html#CVE-2020-17521",
"https://lists.apache.org/thread.html/ra9dab34bf8625511f23692ad0fcee2725f782e9aad6c5cdff6cf4465@%3Cnotifications.groovy.apache.org%3E",
"https://www.cve.org/CVERecord?id=CVE-2020-17521"
]
},
"related_cves": [
{
"value": "CVE-2020-17521",
"evidence": "/upstream"
}
],
"security_relevant": true,
"severity_evidence": "/severity/0/score"
},
"source_id": "core-osv",
"document_id": 355207,
"published_at": "2020-12-07T20:15:00+00:00"
}