PoC - CVE-2025-34040 - Arbitrary File Upload to RCE (Zhiyuan OA)

Resumen

Desarrollé una Proof of Concept (PoC) que demuestra una vulnerabilidad de subida arbitraria de archivos con path traversal en la plataforma Zhiyuan OA, registrada como CVE-2025-34040.

La vulnerabilidad se origina en una validación insuficiente de los parámetros realFileType y fileId dentro del endpoint wpsAssistServlet, lo que permite escribir archivos fuera de los directorios previstos.

La PoC demuestra cómo, mediante la manipulación controlada de peticiones multipart, es posible subir archivos ejecutables (por ejemplo, JSP) al webroot y lograr ejecución remota de código (RCE).

El exploit fue publicado y verificado en Exploit Database (EDB-ID 52490).

Detalle técnico

  • Producto afectado: Zhiyuan OA

  • Versiones afectadas: 5.0, 5.1–5.6sp1, 6.0–6.1sp2, 7.0–7.1sp1, 8.0–8.0sp2

  • CVE: CVE-2025-34040

  • Componente vulnerable: wpsAssistServlet (file upload handler)

  • Vector de ataque: Path Traversal + Arbitrary File Upload

  • Tipo de vulnerabilidad: Unrestricted File Upload + Directory Traversal

  • CWE: CWE-22, CWE-434

  • Impacto: Remote Code Execution (RCE)

  • Plataforma: Web / Java

Descripción de la PoC

La PoC explota una validación incorrecta en la carga de archivos multipart, permitiendo controlar la ruta destino mediante el parámetro realFileType.

El exploit realiza las siguientes acciones:

  • Manipulación del parámetro realFileType con secuencias ../

  • Escritura de archivos fuera del directorio permitido

  • Subida de un archivo ejecutable (JSP) al webroot

  • Acceso directo al archivo subido mediante el servidor web

  • Ejecución de código en el servidor

No requiere autenticación en configuraciones expuestas.

Comportamiento demostrado

  • Escritura arbitraria de archivos en el sistema

  • Bypass de restricciones de directorio

  • Ejecución de código remoto (RCE)

  • Persistencia mediante webshells

  • Compromiso completo del servidor

Entorno de pruebas

  • Aplicación: Zhiyuan OA

  • Versiones afectadas: múltiples versiones hasta 8.0sp2

  • Plataforma: Java Web Application

  • Escenario: Laboratorio controlado

Impacto

Un atacante remoto no autenticado puede:

  • Subir y ejecutar código arbitrario

  • Comprometer completamente el servidor

  • Acceder a datos sensibles

  • Realizar movimiento lateral dentro de la red

  • Establecer persistencia

La vulnerabilidad presenta un impacto crítico (CVSS 4.0: 10.0) debido a:

  • Sin autenticación requerida

  • Baja complejidad

  • Ejecución directa de código

Mitigaciones recomendadas

  • Aplicar parches oficiales del vendor

  • Validar estrictamente rutas y nombres de archivo

  • Restringir tipos de archivo permitidos

  • Implementar controles de subida seguros

  • Aislar el webroot de directorios de escritura

  • Monitorizar cargas de archivos sospechosas

Referencias

Last updated