Критическая уязвимость в phpBB 3.1-3.3.16 и phpBBex 2.0 (но не в phpBB 3.0 и phpBBex 1.x)

Список разделов phpBBex 2.x (заброшен) Новости 2.x

Описание: Новости проекта phpBBex 2.x. Эта ветка в заброшенном состоянии. PHP новее 7.0 не поддерживается.

Сообщение #1 VEG » Вчера, 14:43

В phpBB 3.1.0-3.3.16 найдена критическая уязвимость, которая позволяет авторизоваться под любым пользователем без пароля. phpBBex 2.0, основанный на phpBB 3.1, тоже подвержен этой уязвимости. Ошибка находится в коде, отвечающем за поддержку OAuth, который был добавлен в phpBB 3.1.0.

Уязвимость не затрагивает phpBB 3.0 и основанный на нём phpBBex 1.x.

Поскольку phpBBex 2.0 больше не поддерживается и полноценного исправления не предвидится, временно заткнуть уязвимость можно следующим образом.

В файле ucp.php найти:
Код: Выделить всё
$user->setup('ucp');
И добавить после:
Код: Выделить всё
if ($request->variable('auth_provider', '')) { http_response_code(403); die('Forbidden'); }
Но это сломает авторизацию через внешние сервисы. Можно запретить только auth_provider=apache, чтобы закрыть конкретно известный вектор атаки:
Код: Выделить всё
if (strtolower($request->variable('auth_provider', '')) == 'apache') { http_response_code(403); die('Forbidden'); }
Либо же можно дополнительно запретить и auth_provider=ldap, поскольку он вряд ли реально используется, но может быть тоже уязвимым:
Код: Выделить всё
if (in_array(strtolower($request->variable('auth_provider', '')), ['apache', 'ldap'])) { http_response_code(403); die('Forbidden'); }
VEG M
Автор темы, Администратор
Аватар
Откуда: Finland
Репутация: 1699
С нами: 14 лет 1 месяц

Сообщение #2 VEG » Сегодня, 09:25

Альтернативно, разработчики phpBB предлагают отключить OAuth и удалить файлы:
  • {root}/phpbb/auth/provider/apache.php
  • {root}/phpbb/auth/provider/ldap.php
VEG M
Автор темы, Администратор
Аватар
Откуда: Finland
Репутация: 1699
С нами: 14 лет 1 месяц


cron