
PoC & dokumentasi untuk CVE-2026-7275: Moodle Google Drive Repository (repository_googledocs) — Path Traversal / Arbitrary File Write yang dapat mengarah ke RCE pada versi Moodle yang belum dipatch.
Preuve de concept et documentation pour CVE-2026-7275 : Moodle Google Drive Repository (repository_googledocs) — Path Traversal / Arbitrary File Write pouvant mener à une RCE sur les versions non patchées de Moodle.
Avertissement : Uniquement pour la recherche en sécurité autorisée, les audits et la formation défensive. Ne pas utiliser sur des systèmes sans autorisation écrite.
| Champ | Valeur |
|---|---|
| CVE | CVE-2026-7275 |
| Avis | MSA-26-0006 |
| Suivi | MDL-88423 |
| Composant | repository_googledocs |
| CWE | CWE-22 (Path Traversal) |
| Sévérité | Critique (CVSS ~9.1) |
| Versions affectées | Moodle 5.1.0–5.1.3, 5.0.0–5.0.6, 4.5.0–4.5.10 |
| Corrigé dans | 5.1.4, 5.0.7, 4.5.11 |
Le plugin Google Drive de Moodle télécharge des fichiers depuis l'API Google en utilisant les métadonnées du nom de fichier ($originalfile->name). Avant le correctif, ce nom était passé à prepare_file() sans assainissement, permettant ainsi à une charge utile telle que ../../../../public/shell.php d'écrire un fichier en dehors du répertoire temporaire → potentielle RCE si la racine web exécute du PHP.
Pas besoin de connaître le chemin absolu — une simple traversée relative (../ répété) depuis le dossier temporaire aléatoire suffit.
├── README.md ← résumé (ce fichier)
├── CONTRIBUTORS.md ← 0xNuts + Cursor
├── EXPLOIT.md ← chaîne d'attaque, payload, prérequis
├── PATCH.md ← analyse du correctif et des mitigations
└── poc/
└── demo_path_traversal.py ← démo locale avant correctif vs après correctif
python poc/demo_path_traversal.py
La sortie montre le chemin ÉCHAPPEMENT (avant correctif) vs contenu (après correctif).
// public/repository/lib.php — prepare_file()
return sprintf('%s/%s', make_request_directory(), clean_param($filename, PARAM_FILE));
Détails complets : PATCH.md
| 0xNuts | @ExDev994 — chercheur principal, PoC, documentation |
| Cursor | cursor.com — co-chercheur, analyse statique, rédaction de l'exploit et du correctif |
Détails : CONTRIBUTORS.md
/*
* CVE-2026-7275 — break to understand, patch to defend.
* Contributors: 0xNuts (@ExDev994) + Cursor
*/
| Condition | Détail |
|---|
| Compte Moodle | Utilisateur authentifié |
| Capacité | repository/googledocs:view |
| OAuth | Google Drive lié à l'utilisateur Moodle |
| Plugin | repository_googledocs actif |
| Version | Non patchée (< 5.1.4 / < 5.0.7 / < 4.5.11) |