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
realFileTypecon 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
Esta PoC ha sido desarrollada únicamente con fines educativos y de investigación. No debe ejecutarse contra sistemas en producción ni sin autorización expresa. Seguir siempre prácticas de responsible disclosure.
Last updated