---
id: CVE-2020-17521
title: >-
  Apache Groovy provides extension methods to aid with creating temporary
  directories
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 …
severity: medium
cvss: 5.5
cvssVector: 'CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N'
vendor: apache
product: groovy
affected:
  - 'groovy >= 2.0.0, <= 2.4.20'
  - 'groovy >= 2.5.0, <= 2.5.13'
  - 'groovy >= 3.0.0, <= 3.0.6'
  - groovy = 4.0.0
  - snapcenter
  - agile_engineering_data_management = 6.2.1.0
  - agile_plm_mcad_connector = 3.4
  - agile_plm_mcad_connector = 3.6
  - agile_product_lifecycle_management = 9.3.3
  - agile_product_lifecycle_management = 9.3.6
  - business_process_management_suite = 12.2.1.3.0
  - business_process_management_suite = 12.2.1.4.0
  - communications_brm_-_elastic_charging_engine = 11.3.0.9.0
  - communications_brm_-_elastic_charging_engine = 12.0.0.3
  - communications_diameter_signaling_router = 8.4.0.0
  - communications_evolved_communications_application_server = 7.1
  - communications_services_gatekeeper = 6.0
  - communications_services_gatekeeper = 6.1
  - communications_services_gatekeeper = 7.0
  - healthcare_data_repository = 7.0.2
  - hospitality_opera_5 = 5.6
  - ilearning = 6.2
  - ilearning = 6.3
  - 'insurance_policy_administration >= 11.0, <= 11.3.1'
  - jd_edwards_enterpriseone_orchestrator = 9.2.6.0
  - 'primavera_gateway >= 17.12.0, <= 17.12.10'
  - 'primavera_unifier >= 17.7, <= 17.12'
  - primavera_unifier = 16.1
  - primavera_unifier = 16.2
  - primavera_unifier = 18.8
  - primavera_unifier = 19.12
  - primavera_unifier = 20.12
  - retail_bulk_data_integration = 15.0.3.0
  - retail_bulk_data_integration = 16.0.3.0
  - retail_merchandising_system = 16.0.3
  - retail_store_inventory_management = 14.1.3.10
  - retail_store_inventory_management = 15.0.3.5
  - retail_store_inventory_management = 16.0.3.5
  - atlas = 2.1.0
published: '2020-12-07'
updated: '2026-08-25'
source: NVD
sourceUrl: 'https://nvd.nist.gov/vuln/detail/CVE-2020-17521'
references:
  - url: 'https://groovy-lang.org/security.html#CVE-2020-17521'
    label: security@apache.org
  - url: >-
      https://lists.apache.org/thread.html/r4b2f13c302eec98838ff7475253091fb9b75bc1038016ba00ebf6c08%40%3Cdev.atlas.apache.org%3E
    label: security@apache.org
  - url: >-
      https://lists.apache.org/thread.html/ra9dab34bf8625511f23692ad0fcee2725f782e9aad6c5cdff6cf4465%40%3Cnotifications.groovy.apache.org%3E
    label: security@apache.org
  - url: >-
      https://lists.apache.org/thread.html/rea63a4666ba245d2892471307772a2d8ce0f0741f341d6576625c1b3%40%3Cdev.atlas.apache.org%3E
    label: security@apache.org
  - url: 'https://security.netapp.com/advisory/ntap-20201218-0006/'
    label: security@apache.org
  - url: 'https://www.oracle.com//security-alerts/cpujul2021.html'
    label: security@apache.org
  - url: 'https://www.oracle.com/security-alerts/cpuApr2021.html'
    label: security@apache.org
  - url: 'https://www.oracle.com/security-alerts/cpuapr2022.html'
    label: security@apache.org
  - url: 'https://www.oracle.com/security-alerts/cpujan2021.html'
    label: security@apache.org
  - url: 'https://www.oracle.com/security-alerts/cpujan2022.html'
    label: security@apache.org
  - url: 'https://www.oracle.com/security-alerts/cpujul2022.html'
    label: security@apache.org
  - url: 'https://www.oracle.com/security-alerts/cpuoct2021.html'
    label: security@apache.org
  - url: 'https://groovy-lang.org/security.html#CVE-2020-17521'
    label: af854a3a-2127-422b-91ae-364da2661108
  - url: >-
      https://lists.apache.org/thread.html/r4b2f13c302eec98838ff7475253091fb9b75bc1038016ba00ebf6c08%40%3Cdev.atlas.apache.org%3E
    label: af854a3a-2127-422b-91ae-364da2661108
  - url: >-
      https://lists.apache.org/thread.html/ra9dab34bf8625511f23692ad0fcee2725f782e9aad6c5cdff6cf4465%40%3Cnotifications.groovy.apache.org%3E
    label: af854a3a-2127-422b-91ae-364da2661108
  - url: >-
      https://lists.apache.org/thread.html/rea63a4666ba245d2892471307772a2d8ce0f0741f341d6576625c1b3%40%3Cdev.atlas.apache.org%3E
    label: af854a3a-2127-422b-91ae-364da2661108
  - url: 'https://security.netapp.com/advisory/ntap-20201218-0006/'
    label: af854a3a-2127-422b-91ae-364da2661108
  - url: 'https://www.oracle.com//security-alerts/cpujul2021.html'
    label: af854a3a-2127-422b-91ae-364da2661108
  - url: 'https://www.oracle.com/security-alerts/cpuApr2021.html'
    label: af854a3a-2127-422b-91ae-364da2661108
  - url: 'https://www.oracle.com/security-alerts/cpuapr2022.html'
    label: af854a3a-2127-422b-91ae-364da2661108
  - url: 'https://www.oracle.com/security-alerts/cpujan2021.html'
    label: af854a3a-2127-422b-91ae-364da2661108
  - url: 'https://www.oracle.com/security-alerts/cpujan2022.html'
    label: af854a3a-2127-422b-91ae-364da2661108
  - url: 'https://www.oracle.com/security-alerts/cpujul2022.html'
    label: af854a3a-2127-422b-91ae-364da2661108
  - url: 'https://www.oracle.com/security-alerts/cpuoct2021.html'
    label: af854a3a-2127-422b-91ae-364da2661108
tags:
  - nvd
epss: 0.01027
epssPercentile: 0.62135
ingestedAt: '2026-08-25T17:29:30.430Z'
---

## Overview

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.

## Affected

- `groovy >= 2.0.0, <= 2.4.20`
- `groovy >= 2.5.0, <= 2.5.13`
- `groovy >= 3.0.0, <= 3.0.6`
- `groovy = 4.0.0`
- `snapcenter`
- `agile_engineering_data_management = 6.2.1.0`
- `agile_plm_mcad_connector = 3.4`
- `agile_plm_mcad_connector = 3.6`
- `agile_product_lifecycle_management = 9.3.3`
- `agile_product_lifecycle_management = 9.3.6`
- `business_process_management_suite = 12.2.1.3.0`
- `business_process_management_suite = 12.2.1.4.0`
- `communications_brm_-_elastic_charging_engine = 11.3.0.9.0`
- `communications_brm_-_elastic_charging_engine = 12.0.0.3`
- `communications_diameter_signaling_router = 8.4.0.0`
- `communications_evolved_communications_application_server = 7.1`
- `communications_services_gatekeeper = 6.0`
- `communications_services_gatekeeper = 6.1`
- `communications_services_gatekeeper = 7.0`
- `healthcare_data_repository = 7.0.2`
- `hospitality_opera_5 = 5.6`
- `ilearning = 6.2`
- `ilearning = 6.3`
- `insurance_policy_administration >= 11.0, <= 11.3.1`
- `jd_edwards_enterpriseone_orchestrator = 9.2.6.0`
- `primavera_gateway >= 17.12.0, <= 17.12.10`
- `primavera_unifier >= 17.7, <= 17.12`
- `primavera_unifier = 16.1`
- `primavera_unifier = 16.2`
- `primavera_unifier = 18.8`
- `primavera_unifier = 19.12`
- `primavera_unifier = 20.12`
- `retail_bulk_data_integration = 15.0.3.0`
- `retail_bulk_data_integration = 16.0.3.0`
- `retail_merchandising_system = 16.0.3`
- `retail_store_inventory_management = 14.1.3.10`
- `retail_store_inventory_management = 15.0.3.5`
- `retail_store_inventory_management = 16.0.3.5`
- `atlas = 2.1.0`

## Remediation

Refer to the linked advisories for vendor-supplied fixes and affected version ranges.
