
Ejecución Remota de Código No Autenticada a través de la librería Angular-Base64-Upload Library
CVE-2024-42640
Ejecución remota de código no autenticado a través de la librería Angular-Base64-Upload
para más detalles: blog
Las versiones de angular-base64-upload anteriores a v0.1.21 son vulnerables a la ejecución remota de código no autenticado a través del endpoint angular-base64-upload/demo/server.php. Explotar esta vulnerabilidad permite a un atacante subir contenido de archivo arbitrario al servidor, que posteriormente puede ser accedido a través del endpoint angular-base64-upload/demo/uploads. Esto conduce a la ejecución del contenido previamente subido y finalmente permite al atacante lograr la ejecución de código en el servidor.

git clone https://github.com/rvizx/CVE-2024-42640
cd CVE-2024-42640
python3 exploit.py <target> # esto usará un shell de comandos PHP (web-shell)
python3 exploit.py <target> --rev # esto usará una reverse shell de PHP
Para corregir el problema de seguridad,
El siguiente script fix.sh fue desarrollado para corregir el problema de seguridad usando la segunda opción mencionada anteriormente,

git clone https://github.com/rvizx/CVE-2024-42640
cd CVE-2024-42640
chmod +x fix.sh
./fix.sh # ejemplo: ./fix.sh /app | tee -a /tmp/verify.log
Exploit Title: RCE no autenticado a través de la librería Angular-Base64-Upload
Researcher: Ravindu Wickramasinghe | rvz (@rvizx9)
Severidad: Crítica - 10.0 (CVSS 4.0)
Página del proveedor: https://www.npmjs.com/package/angular-base64-upload
Enlace del software: https://github.com/adonespitogo/angular-base64-upload
Vector: CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:H/SI:H/SA:H
Versiones vulnerables: < v0.1.21
Versiones corregidas: >= v0.1.21
Probado en: Arch Linux
CVE : CVE-2024-42640
NIST: https://nvd.nist.gov/vuln/detail/CVE-2024-42640
Enlace del PoC de Github : https://github.com/rvizx/CVE-2024-42640
Entrada del blog: https://www.zyenra.com/blog/unauthenticated-rce-in-angular-base64-upload.html