Security Alert
| Severity: | Hoch |
| Kategorien: | Ausführung von beliebigem Code durch privilegierte Benutzer |
| Betroffene Projekte: | edx-Plattform |
| Reporter: | Drittanbieter-Sicherheitsprüfer |
| Permanente URL: | https://openedx.org/CVE-2015-5601 |
Während einer geplanten Sicherheitsüberprüfung des Codes der edx-Plattform durch einen Drittanbieter wurde entdeckt, dass ein Fehler bestimmten Kategorien von privilegierten Benutzern erlaubte, beliebigen Code als Benutzer des laufenden Prozesses auszuführen.
Die allgemeinen Schwachstellen und Gefährdungen (CVE)-Projekt hat diesem Problem den Namen CVE-2015-5601 zugewiesen. Dies ist ein Eintrag auf der CVE aufführen (http://cve.mitre.org), das Namen für Sicherheitsprobleme standardisiert.
Mehr Informationen
Das Problem liegt im Endpunkt des Kursimports, der das Hochladen einer .tar.gz-Datei akzeptiert. Es ist möglich, eine tar-Datei zu erstellen, die Dateien im Verzeichnis edx-platform extrahiert, anstatt im temporären Verzeichnis, das die App verwenden möchte (siehe unten für Details). Da es im Python-Bibliothekspfad Unterverzeichnisse von edx-platform gibt, suchen „import foo“-Anweisungen in diesen Verzeichnissen nach „foo.py“. Ein Angreifer kann eine entsprechend benannte Python-Datei in eines dieser Verzeichnisse hochladen, und beim nächsten Neustart der Anwendung wird sie importiert und ausgeführt.
Das zugrunde liegende Problem liegt in der Verarbeitung der Tar-Datei. Die Anwendung achtet darauf, Dateien und symbolische Links zu verbieten, die Aufwärtstraversal oder absolute Pfade verwenden, um außerhalb des Extraktionsverzeichnisses zu verweisen. Diese Überprüfungen in „extract_tar.py“ gehen jedoch fälschlicherweise davon aus, dass das Extraktionsverzeichnis „.“ ist, was zu „/edx/app/edxapp/edx-platform“ aufgelöst wird; Sie sollten stattdessen das eigentliche Extraktionsverzeichnis verwenden.
Die eigentliche Extraktion erfolgt in einem kursspezifischen Unterverzeichnis von „/edx/var/edxapp/data“, aber es können Symlinks erstellt werden, die auf Unterverzeichnisse von „edx-platform“ verweisen, und nachfolgende Dateien können dorthin extrahiert werden.
Darin wurde der Fehler behoben verpflichten.
![]()