Плагин UsersWP — внешняя форма входа в систему, регистрация пользователей, профиль пользователя и каталог участников для плагина WP для WordPress уязвим к слепой подделке запросов на стороне сервера во всех версиях до 1.2.58 включительно. Это связано с недостаточной проверкой происхождения URL-адреса в методеprocess_image_crop() при обработке операций обрезки изображения аватара/баннера. Функция принимает управляемый пользователем URL-адрес через параметр POST uwp_crop и проверяет его только с помощью esc_url() для очистки и wp_check_filetype() для проверки расширения, не гарантируя, что URL-адрес ссылается на локальный файл загрузки.
Затем URL-адрес передается функции uwp_resizeThumbnailImage(), которая использует его в функциях обработки изображений PHP (getimagesize(), imagecreatefrom*()), которые поддерживают оболочки URL-адресов и выполняют исходящие HTTP-запросы. Это позволяет аутентифицированным злоумышленникам с доступом на уровне подписчика и выше заставить сервер WordPress отправлять произвольные HTTP-запросы к местам назначения, контролируемым злоумышленником или во внутренней сети, обеспечивая сканирование внутренней сети и потенциальный доступ к конфиденциальным службам.
Показать оригинальное описание (EN)
The UsersWP – Front-end login form, User Registration, User Profile & Members Directory plugin for WP plugin for WordPress is vulnerable to blind Server-Side Request Forgery in all versions up to, and including, 1.2.58. This is due to insufficient URL origin validation in the process_image_crop() method when processing avatar/banner image crop operations. The function accepts a user-controlled URL via the uwp_crop POST parameter and only validates it using esc_url() for sanitization and wp_check_filetype() for extension verification, without enforcing that the URL references a local uploads file. The URL is then passed to uwp_resizeThumbnailImage() which uses it in PHP image processing functions (getimagesize(), imagecreatefrom*()) that support URL wrappers and perform outbound HTTP requests. This makes it possible for authenticated attackers with subscriber-level access and above to coerce the WordPress server into making arbitrary HTTP requests to attacker-controlled or internal network destinations, enabling internal network scanning and potential access to sensitive services.
Характеристики атаки
Последствия
Строка CVSS v3.1