13 серпня 2020 року команда Threat Intelligence закінчила вивчення двох вразливих місць у Advanced Access Manager , плагіні для WordPress із понад 100 000 інсталяцій. Проблеми включали включали вразливість авторизації Bypass, яка може призвести до ескалації привілеїв та захоплення сайту.

Виправлення було випущено у версії 6.6.2.

Вразливість функції оновлення профілю

Advanced Access Manager дозволяє контролювати доступ до сайту і має можливість призначати кілька ролей одному користувачеві. Якщо ввімкнено параметр «Підтримка кількох ролей», плагін вразливий до автентифікованого обходу авторизації та, в деяких випадках, до ескалації прав.

Низькопривілейований користувач може призначити собі нову або змінити свою роль на будь-яку роль з рівним або меншим рівнем або будь-яку роль, якій не призначений рівень користувача. Це можна зробити, надіславши POST запит wp-admin/profile.php із типовими параметрами оновлення профілю та додавши aam_user_roles[] набір параметрів до ролі, яку вони хотіли б використовувати.

Це означало, що, якщо було ввімкнено параметр “Підтримка кількох ролей”, будь-який користувач використовував би цей метод під час оновлення свого профілю. Потім profileUpdate функція перевіряє, чи є в aam_user_roles[] POST параметрі будь-які ролі . Якщо ролі були присутні, тоді використовується функція WordPress get_editable_roles , щоб визначити, чи дозволено користувачеві додавати певну роль, і якщо так, то надається роль, не виконуючи жодної іншої перевірки.

Вразливість REST API.

Advanced Access Manager також дозволяє користувачам входити через WordPress REST API. На жаль, кінцеві точки плагіна aam/v1/authenticateта aam/v2/authenticate були налаштовані відповідати на успішний вхід json-кодованою копією всіх метаданих про користувача, потенційно віддаючи важливу інформацію користувачів зловмиснику або користувачеві з низькими привілеями. Сюди входили такі елементи, як хешований пароль користувача, їх можливості та ролі, а також будь-які власні метадані, які могли бути додані іншими плагінами. Сюди може входити конфіденційна інформація про конфігурацію, яку зловмисник потенційно може використовувати як частину експлойт-ланцюга. Наприклад, зловмисник, здатний призначити собі власну роль за допомогою попередньої вразливості, міг переглянути, які можливості їм були призначені, що дозволило б спланувати наступну фазу своєї атаки.

У сьогоднішньому дописі ми детально описали дві вразливості в плагіні Advanced Access Manager, включаючи вразливість високого ступеня серйозності, яка може дозволити користувачам нижчого рівня збільшити свої привілеї. Ми рекомендуємо якнайшвидше оновити до останньої версії плагіна Advanced Access Manager, наразі версії 6.6.2.