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

Vulnerabilidad en ChestnutCMS (CVE-2024-56828)

Gravedad CVSS v3.1:
CRÍTICA
Tipo:
CWE-434 Subida sin restricciones de ficheros de tipos peligrosos
Fecha de publicación:
06/01/2025
Última modificación:
21/04/2025

Descripción

Vulnerabilidad de carga de archivos en ChestnutCMS hasta la versión 1.5.0. Según el análisis del código, se determinó que el endpoint de la API /api/member/avatar recibe una cadena base64 como entrada. Esta cadena se pasa luego al método memberService.uploadAvatarByBase64 para su procesamiento. Dentro del servicio, se analiza la imagen codificada en base64. Por ejemplo, dada una cadena como: data:image/html;base64,PGh0bWw+PGltZyBzcmM9eCBvbmVycm9yPWFsZXJ0KDEpPjwvaHRtbD4= el contenido después de la coma se extrae y se decodifica utilizando Base64.getDecoder().decode(). La subcadena desde el undécimo carácter hasta la primera aparición de un punto y coma (;) se asigna a la variable de sufijo (que representa la extensión del archivo). Luego, el contenido decodificado se escribe en un archivo. Sin embargo, la extensión del archivo no está validada y, dado que esta funcionalidad está expuesta al frontend, plantea riesgos de seguridad importantes.

Productos y versiones vulnerables

CPE Desde Hasta
cpe:2.3:a:1000mz:chestnutcms:*:*:*:*:*:*:*:* 1.5.0 (incluyendo)