Instituto Nacional de ciberseguridad. Sección Incibe
Instituto Nacional de Ciberseguridad. Sección INCIBE-CERT

Vulnerabilidad en el método "downloadDirectory" del componente AWS S3 TransferManager en el SDK de AWS para Java (CVE-2022-31159)

Gravedad CVSS v3.1:
MEDIA
Tipo:
CWE-22 Limitación incorrecta de nombre de ruta a un directorio restringido (Path Traversal)
Fecha de publicación:
15/07/2022
Última modificación:
22/07/2022

Descripción

El SDK de AWS para Java permite a desarrolladores de Java trabajar con Amazon Web Services. Se presenta un problema de salto de ruta parcial en el método "downloadDirectory" del componente AWS S3 TransferManager del AWS SDK para Java v1 versiones anteriores a 1.12.261. Las aplicaciones que usan el SDK controlan el argumento "destinationDirectory", pero las claves de los objetos de S3 están determinadas por la aplicación que cargó los objetos. El método "downloadDirectory" permite a quien lo llama pasar un objeto del sistema de archivos en la clave del objeto, pero contenía un problema en la lógica de comprobación del nombre de la clave. Un actor con conocimientos podía omitir la lógica de comprobación incluyendo un doble punto UNIX en la clave del cubo. Bajo determinadas condiciones, esto podría permitirles recuperar un directorio de su cubo de S3 que está un nivel más arriba en el sistema de archivos de su directorio de trabajo. El alcance de este problema es limitado a directorios cuyo prefijo de nombre coincide con el destinationDirectory. Por ejemplo, para el directorio de destino "/tmp/foo", el actor puede causar una descarga en "/tmp/foo-bar", pero no en "/tmp/bar". Si es usado "com.amazonaws.services.s3.transfer.TransferManager::downloadDirectory" para descargar el contenido de un cubo no confiable, el contenido de ese cubo puede escribirse fuera del directorio de destino previsto. La versión 1.12.261 contiene un parche para este problema. Como mitigación, cuando llame a "com.amazonaws.services.s3.transfer.TransferManager::downloadDirectory", pase un "KeyFilter" que prohíba los objetos "S3ObjectSummary" cuyo método "getKey" devuelva una cadena que contenga la subcadena ".."

Productos y versiones vulnerables

CPE Desde Hasta
cpe:2.3:a:amazon:aws-sdk-java:*:*:*:*:*:*:*:* 1.12.260 (incluyendo)


Referencias a soluciones, herramientas e información