Разработчики популярного плагина Contact Form 7 для WordPress, который установлен более чем на 5 000 000 сайтов, выпустили исправление для критической уязвимости.

Проблема позволяла злоумышленникам обмануть защитные механизмы, отвечающие за очистку имен файлов при загрузке. В результате хакеры получали возможность загрузить вредоносный файл с произвольным кодом на уязвимый сервер, а затем запустить его как скрипт, чтобы выполнить код, скрытый внутри.

Баг был обнаружен специалистами компании Astra Security, во время аудита, который те проводили для одного из своих клиентов. Уязвимость устранили в версии 7 5.3.2, и теперь разработчики настоятельно рекомендуют всем администраторам сайтов обновить плагин как можно скорее.

Исправление

Журналисты издания Bleeping Computer объясняют, что баг возникал из-за файла includes/formatting.php, который является частью Contact Form 7. В уязвимых версиях плагин не удалял специальные символы из загруженных файлов, включая управляющий символ и разделители. Из-за этого атакующий имел возможность загрузить на сервер файл с двойным расширением, например, «abc.php    .jpg».

В этом примере разделителем между расширениями выступает символ табуляции (\t), и для клиентского интерфейса плагина такой файл будет выглядеть как обычное изображение в формате .jpg. Однако при загрузке на сервер Contact Form 7 осуществит парсинг имени файла, отбросит лишнее расширение, и на сервер попадет файл abc.php, то есть PHP-скрипт, к которому затем сможет получить доступ злоумышленник (для выполнения произвольного кода).

  • Подпишись на наc в Telegram!

    Только важные новости и лучшие статьи

    Подписаться

  • Подписаться
    Уведомить о
    1 Комментарий
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии