CVE-2018-18325
DotNetNuke (DNN) DotNetNuke (DNN)
2021-11-03
DotNetNuke (DNN) contains an inadequate encryption strength vulnerability resulting from the use of a weak encryption algorithm to protect input parameters. This CVE ID resolves an incomplete patch for CVE-2018-15811.
Технический анализ и план устранения
Суть уязвимости
Уязвимость в DotNetNuke (DNN) связана с использованием слабого алгоритма шифрования для защиты входных параметров. Это позволяет злоумышленнику: * Расшифровать защищённые параметры, передаваемые в URL или формы. * Провести атаки типа "Padding Oracle" для получения зашифрованных данных. * Скомпрометировать защищённые системой данные, что может привести к обходу аутентификации, повышению привилегий или раскрытию информации.
Как исправить
Установите патч, полностью устраняющий проблему слабого шифрования.
- Определите текущую версию DNN. Перейдите в меню
Host->Host Settingsи найдите номер версии в разделе "About". - Обновите DNN до одной из исправленных версий:
- DNN Platform: версия 9.2.2 или выше.
- Evoq: версия 9.1.1 или выше.
- Процесс обновления:
- Скачайте полный пакет обновления (Upgrade Package) с официального сайта dotnetnuke.com.
- Создайте полную резервную копию базы данных и файлов сайта перед обновлением.
- Остановите приложение в IIS.
- Замените файлы на сервере файлами из пакета обновления.
- Запустите сайт. Система автоматически запустит скрипты обновления базы данных при первом запросе.
Временное решение
Если немедленное обновление невозможно, настройте фильтрацию на уровне веб-сервера или WAF.
- Настройте правила в WAF (Web Application Firewall), например, ModSecurity для IIS или стороннее решение. Добавьте правило для блокировки запросов, содержащих характерные для атаки на слабое шифрование паттерны (например, повторяющиеся блоки данных в параметрах).
bash # Пример концептуального правила для ModSecurity (требует адаптации) SecRule ARGS "@rx \.[A-Za-z0-9_-]{20,}" \ "id:10001,\ phase:2,\ deny,\ msg:'Potential weak encryption exploit attempt',\ logdata:'Matched %{MATCHED_VAR}'" - Настройте фильтрацию в IIS с помощью
URL Rewrite. Создайте правило, которое отклоняет запросы с длинными закодированными параметрами, характерными для уязвимости.- Установите модуль "URL Rewrite" для IIS.
- Добавьте в
web.configправило, которое блокирует или перенаправляет запросы с подозрительными параметрами.
- Усильте мониторинг журналов (IIS Logs) на предмет необычно длинных или часто повторяющихся запросов к страницам DNN, содержащих параметры с высокой энтропией (длинные строки в base64).