Плагин ProSolution WP Client для WordPress уязвим для произвольной загрузки файлов во всех версиях до 2.0.10 включительно через функцию proSol_handleFileUpload. Это происходит из-за отсутствия проверки имени файла заголовка Content-Disposition, контролируемого злоумышленником, которое переопределяет многочастное имя файла из разрешенного списка перед сохранением файла, а также проверку расширения после сохранения, которая не позволяет удалить уже записанный файл. Это позволяет неаутентифицированным злоумышленникам загружать файлы, которые могут быть исполняемыми, что делает возможным удаленное выполнение кода.
Nonce, необходимый для доступа к обработчику загрузки, публично предоставляется через wp_localize_script на любой интерфейсной странице, отображающей короткий код портала вакансий, что позволяет неаутентифицированным посетителям получить действительный nonce и полностью обойти эту входную проверку.
Показать оригинальное описание (EN)
The ProSolution WP Client plugin for WordPress is vulnerable to Arbitrary File Upload in all versions up to, and including, 2.0.10 via the proSol_handleFileUpload function. This is due to missing validation of the attacker-controlled Content-Disposition header filename, which overrides the allow-listed multipart filename before the file is saved, and a post-save extension check that fails to delete the already-written file. This makes it possible for unauthenticated attackers to upload files that may be executable, which makes remote code execution possible. The nonce required to reach the upload handler is publicly exposed via wp_localize_script on any front-end page rendering the job portal shortcode, allowing unauthenticated visitors to obtain a valid nonce and bypass that gating check entirely.
Характеристики атаки
Последствия
Строка CVSS v3.1