Alerte de sécurité
| Gravité: | Haute |
| Catégorie: | Exécution arbitraire de code par des utilisateurs privilégiés |
| Projets concernés : | edx-platform |
| Journaliste: | Auditeur de sécurité tiers |
| URL permanente : | https://openedx.org/CVE-2015-5601 |
Lors d'un audit de sécurité planifié par un tiers du code de la plate-forme edx, il a été découvert qu'un bogue permettait à certaines catégories d'utilisateurs privilégiés d'exécuter du code arbitraire en tant qu'utilisateur du processus en cours d'exécution.
Les vulnérabilités et expositions courantes (CVE) a attribué le nom CVE-2015-5601 à ce problème. Il s'agit d'une entrée sur le CVE liste (http://cve.mitre.org), qui normalise les noms des problèmes de sécurité.
Plus d'informations
Le problème concerne le point de terminaison d'importation du cours, qui accepte un téléchargement de fichier .tar.gz. Il est possible de créer un fichier tar qui extrait les fichiers sous le répertoire edx-platform, plutôt que le répertoire temp que l'application a l'intention d'utiliser (voir ci-dessous pour plus de détails). Puisqu'il existe des sous-répertoires de edx-platform dans le chemin de la bibliothèque python, les instructions "import foo" rechercheront "foo.py" dans ces répertoires. Un attaquant peut télécharger un fichier python nommé de manière appropriée dans l'un de ces répertoires, et au prochain redémarrage de l'application, il sera importé et exécuté.
Le problème sous-jacent réside dans le traitement du fichier tar. L'application prend soin d'interdire les fichiers et les liens symboliques qui utilisent une traversée vers le haut ou des chemins absolus pour pointer en dehors du répertoire d'extraction. Cependant, ces vérifications, dans "extract_tar.py", supposent à tort que le répertoire d'extraction est ".", qui se résout en "/edx/app/edxapp/edx-platform" ; ils doivent utiliser le répertoire d'extraction réel à la place.
L'extraction proprement dite se produit dans un sous-répertoire spécifique au cours de "/edx/var/edxapp/data", mais des liens symboliques pointant vers des sous-répertoires de "edx-platform" peuvent être créés et les fichiers suivants peuvent y être extraits.
Le bogue a été corrigé dans ce s'engager.
![]()