Перейти к содержанию

Grav Admin: умеренно критичный, обход доступа, ADMIN-2018-001

  • ID: ADMIN-2018-001
  • Проект: плагин Admin для Grav
  • Дата: 11-07-2018
  • Уровень риска: умеренно критичный

Задачи админки имеют низкий уровень специфичности доступа; в частности, DirectInstall должен быть разрешён только супер-администраторам.

Уведомление о безопасности

Обновитесь до v1.8.6 плагина Admin. Уязвимость больше касается сайтов с несколькими или многими пользователями и меньше — сайтов с небольшим числом пользователей или одним пользователем.

Описание

Некоторые задачи в интерфейсе плагина Admin были доступны пользователям с более низким уровнем, то есть зарегистрированным пользователям. Это позволяло пользователям без разрешения admin.login обновлять новостную ленту, проверять обновления через GPM, обрабатывать уведомления и переустанавливать пакеты. Пользователи без разрешения admin.pages могли обрабатывать Markdown, удалять медиафайлы или менять язык. Пользователи без разрешения admin.super при этом могли делать всё перечисленное, а также выполнять прямую установку через загруженные пакеты.

Пользователи, способные выполнять низкоуровневые POST-запросы и имеющие аутентифицированный доступ к интерфейсу плагина Admin, могли выполнить любую из этих задач. Хотя большинство из них не критичны, прямая установка в особенности позволяла выполнить удалённый код.

Затронутые версии

Затронуты версии плагина Admin до 1.8.6; уязвимость обнаружена в 1.8.5.

Решение

Исправлено в Admin/Classes/AdminController, строки 879-882, 931-934, 981-984, 1024-1027, 1236-1244, 1873-1875, 2202-2205, 2231-2280, в коммите от 11 июля 2018 г., 23:30 GMT+2.

Авторы

Сообщил cure53-alex, исправил Andy Miller.