Обнаружена критическая уязвимость WordPress < 4.8.2 (SQL-инъекция)
В популярной CMS WordPress версий < 4.8.2 обнаружена уязвимость типа SQL-инъекция.
Функция может позволить создавать небезопасные запросы, приводящие к SQL-инъекции:
$ wpdb-> prepare ()
Эта уязвимость позволяет злоумышленнику удаленно выполнять вредоносные SQL-команды для компрометации веб-приложения или доступа к базе данных.
Уязвимость содержится в следующем коде:
if ( $delete_all ) { $value_clause = ''; if ( '' !== $meta_value && null !== $meta_value && false !== $meta_value ) { $value_clause = $wpdb->prepare( " AND meta_value = %s", $meta_value ); } $object_ids = $wpdb->get_col( $wpdb->prepare( "SELECT $type_column FROM $table WHERE meta_key = %s $value_clause", $meta_key ) ); }
Передаваемые данные
$meta_value = ' %s '; $meta_key = ['dump', ' OR 1=1 /*'];
приведут к следующему запросу:
SELECT type FROM table WHERE meta_key = 'dump' AND meta_value = '' OR 1=1 /*'
Такие атаки блокируются с помощью сигнатурного анализа. В случае обфускации пейлоада, запрос обрабатывается модулем искусственного интеллекта Nemesida WAF, распознающего аномалию в параметре запроса и позволяющему выявить эксплуатацию уязвимости.