Сигнал безпеки
| Тяжкість: | Високий |
| Категорія: | Виконання довільного коду привілейованими користувачами |
| Постраждалі проекти: | edx-платформа |
| Репортер: | Сторонній аудитор безпеки |
| Постійна URL-адреса: | https://openedx.org/CVE-2015-5601 |
Під час запланованого стороннього аудиту безпеки коду edx-платформи було виявлено, що помилка дозволяла певним категоріям привілейованих користувачів виконувати довільний код як користувач запущеного процесу.
Загальні вразливості та ризики (CVE) проект присвоїв цій проблемі назву CVE-2015-5601. Це запис на CVE список (http://cve.mitre.org), який стандартизує імена для проблем безпеки.
Додаткова інформація
Проблема полягає в кінцевій точці імпорту курсу, яка приймає завантаження файлу .tar.gz. Можна створити файл tar, який розпаковує файли в каталозі edx-platform, а не в тимчасовому каталозі, який планує використовувати програма (докладніше див. нижче). Оскільки в шляху бібліотеки python є підкаталоги edx-platform, оператори «import foo» шукатимуть «foo.py» в цих каталогах. Зловмисник може завантажити файл python з відповідною назвою в один із цих каталогів, і під час наступного перезапуску програми його буде імпортовано та запущено.
Основна проблема полягає в обробці файлу tar. Програма обережно забороняє файли та символічні посилання, які використовують висхідний обхід або абсолютні шляхи, щоб вказувати за межі каталогу вилучення. Однак ці перевірки в «extract_tar.py» неправильно припускають, що каталог видобування — «.», що перетворюється на «/edx/app/edxapp/edx-platform»; замість цього їм слід використовувати фактичний каталог вилучення.
Фактичне видобування відбувається у спеціальному підкаталозі курсу «/edx/var/edxapp/data», але символічні посилання, які вказують на підкаталоги «edx-platform», можуть бути створені, і наступні файли можуть бути видобуті в них.
У цьому помилка була виправлена вчинити.
![]()