Vulnerabilidad en las funciones "escape" o "escapeAll" en Shescape (CVE-2022-31180)
Gravedad CVSS v3.1:
CRÍTICA
Tipo:
No Disponible / Otro tipo
Fecha de publicación:
01/08/2022
Última modificación:
24/07/2023
Descripción
Shescape es un paquete de escape de shell simple para JavaScript. Se ha detectado que las versiones afectadas no escapan suficientemente de los espacios en blanco cuando interpolan la salida. Este problema sólo afecta a usuarios que usan las funciones "escape" o "escapeAll" con la opción "interpolation" establecida como "true". El resultado es que si un atacante es capaz de incluir espacios en blanco en su entrada puede 1. Invocar un comportamiento específico del shell a través de caracteres especiales específicos del shell insertados directamente después de los espacios en blanco. 2. 2. Invocar el comportamiento específico del shell mediante caracteres especiales específicos del shell insertados o que aparecen después de los caracteres de terminación de línea. 3. Invocar comandos arbitrarios mediante la inserción de un carácter de avance de línea. 4. Invocar comandos arbitrarios mediante la inserción de un carácter de retorno de carro. El comportamiento número 1 ha sido parcheado en la [versión v1.5.7] a la que puedes actualizar ahora. No son requeridos más cambios. Los comportamientos número 2, 3 y 4 han sido parcheados en la [versión v1.5.8] a la que puede actualizarse ahora. No son requeridos más cambios. La mejor mitigación es evitar tener que usar la opción "interpolación: true" - en la mayoría de los casos es posible usar una alternativa, vea [las recetas](https://github.com/ericcornelissen/shescape#recipes) para recomendaciones. Alternativamente, los usuarios pueden eliminar todos los espacios en blanco de la entrada del usuario. Tenga en cuenta que esto es propenso a errores, por ejemplo: para PowerShell esto requiere quitar "'\u0085'" que no está incluido en la definición de JavaScript de "\s" para Expresiones Regulares
Impacto
Puntuación base 3.x
9.80
Gravedad 3.x
CRÍTICA
Productos y versiones vulnerables
| CPE | Desde | Hasta |
|---|---|---|
| cpe:2.3:a:shescape_project:shescape:*:*:*:*:*:*:*:* | 1.4.0 (incluyendo) | 1.5.8 (excluyendo) |
Para consultar la lista completa de nombres de CPE con productos y versiones, ver esta página
Referencias a soluciones, herramientas e información
- https://github.com/ericcornelissen/shescape/pull/322
- https://github.com/ericcornelissen/shescape/pull/324
- https://github.com/ericcornelissen/shescape/releases/tag/v1.5.7
- https://github.com/ericcornelissen/shescape/releases/tag/v1.5.8
- https://github.com/ericcornelissen/shescape/security/advisories/GHSA-44vr-rwwj-p88h



