информационная безопасность
без паники и всерьез
 подробно о проекте
Rambler's Top100Сетевые кракеры и правда о деле ЛевинаСтрашный баг в WindowsSpanning Tree Protocol: недокументированное применение
BugTraq.Ru
Русский BugTraq
 Модель надежности двухузлового... 
 Специальные марковские модели надежности... 
 Модель надежности отказоустойчивой... 
 Microsoft выпустила исправление... 
 Microsoft готовит к выпуску Windows... 
 Все дополнения в Firefox поломались... 
главная обзор RSN блог библиотека закон бред форум dnet о проекте
bugtraq.ru / RSN / архив / 2012 / июнь
2012
главная
январь
февраль
март
апрель
май
июнь
июль
август
сентябрь
октябрь
ноябрь
декабрь




Paragon Partition Manager 7.0

Обход парольной защиты в линуксовых MySQL: уязвима половина доступных серверов
dl // 12.06.12 11:48
Некорректное приведение типов в процедуре проверки паролей ряда сборок MySQL и MariaDB приводит к тому, что с вероятностью 1/256 удается выполнить подключение, используя любой пароль - достаточно знать имя пользователя (ну а root-то там обычно бывает).
[Не забывайте при копировании материала указывать полный адрес источника: //bugtraq.ru/rsn/archive/2012/06/03.html]
Затронуты версии вплоть до 5.1.61, 5.2.11, 5.3.5, 5.5.22. Разумеется, во многих конфигурациях MySQL закрыт для всех коннектов снаружи, но так бывает далеко не всегда. Ну и героический брутфорс открывает все двери за пару-тройку сотен попыток, на что уйдет менее секунды.

Уязвимые версии собраны с использованием функции memcmp из оптимизированной под SSE линуксовой glibc. Встроенная memcmp из gcc незатронута, как и memcmp из BSDшной libc.

В пересчете на реальные операционные системы, затронуты 64-битные Ubuntu версий 10.04, 10.10, 11.04, 11.10, и12.04, Fedora и OpenSUSE 12.1. Чисты Debian, Gentoo и RHEL, равно как и официальные сборки MySQL и MariaDB. Быстрое сканирование 1.74 миллиона доступных MySQL-серверов показало, что уязвимы практически 50 процентов. Звучит довольно апокалиптично - просто представьте, что половина всех доступных MySQL-серверов прямо сейчас стоит с настежь открытой дверью.

Источник проблемы - возврат функцией целочисленного значения за границами диапазона -127..128. Вообще, возвращаемым значением функции memcmp является целое число, про которое можно лишь утверждать, что оно меньше, больше, либо равно нулю в зависимости от результата сравнения переданных ей блоков памяти. Разработчики понадеялись на то, что этот результат можно безболезненно привести к своему псевдобулевскому типу (typedef char my_bool) - что, строго говоря, справедливо лишь для указанного диапазона (при подобном преобразовании просто отбрасываются старшие биты и 0x100 окажется эквивалентно 0x00). Но с учетом описания функции как возвращающей int, этого никто никогда и не обещал.

Источник: The Register      
теги: mysql  |  предложить новость  |  обсудить  |  все отзывы (2) [8332]
назад «  » вперед

аналогичные материалы
Квартальные патчи Oracle: махнула ли компания рукой на безопасность своей базы? // 18.01.12 16:55
Взлом MySQL.com // 27.09.11 09:34
MySQL.com взломали через SQL injection // 28.03.11 16:43
Мегапатч от Apple // 29.03.10 21:53
HighLoad++ - программа конференции // 30.09.08 17:33
Sun собралась прикупить MySQL // 16.01.08 19:37
Конференция по PHP // 13.08.04 15:13
 
последние новости
Некоторые пароли от G Suite хранились в открытом виде // 22.05.19 02:14
Microsoft выпустила Windows Sandbox // 22.05.19 02:07
Microsoft выпустила исправление критичной уязвимости в RDP // 15.05.19 00:19
Microsoft готовит к выпуску Windows Terminal // 06.05.19 19:02
Все дополнения в Firefox поломались из-за просроченного сертификата // 04.05.19 15:39
Страшный бэкдор в роутерах Huawei оказался обычным телнетом // 01.05.19 17:43
Microsoft избавляется от политики устаревания паролей // 25.04.19 13:29

Комментарии:

"Да это просто праздник какой-то!" (c)Карабас-Барабас 13.06.12 14:14  
Автор: stream <Roman Trunov> Статус: Member
<"чистая" ссылка>
"Да это просто праздник какой-то!" (c)Карабас-Барабас

Проблема не в -1/0/1, а тупом преобразовании результата memcmp к некому типу my_bool (скорее всего, обычному char). Классическая реализация memcmp обрабатывает байт за байтом, с ней проблемы не будет. А оптимизированная небось обрабатывает по несколько байт за раз, вычитая полное слово - возвращает что-то типа 0x12345600 - последний байт 0x00 - добро пожаловать, люди добрые!
да, я уже потом посмотрел. надо будет поправить 13.06.12 16:39  
Автор: dl <Dmitry Leonov>
<"чистая" ссылка>
<добавить комментарий>


анонимность клоуны конференции спам уязвимости .net acrobat activex adobe android apple beta bgp bitcoin blaster borland botnet chrome cisco crypto ctf ddos dmca dnet dns dos dropbox eclipse ecurrency eeye elcomsoft excel facebook firefox flash freebsd gnome google gpl hp https ibm icq ie intel ios iphone java javascript l0pht leak linux livejournal mac mcafee meltdown microsoft mozilla mysql netware nginx novell ny open source opera oracle os/2 outlook password patch php powerpoint pwn2own quicktime rc5 redhat retro rip router rsa safari sco secunia server service pack shopping skype smb solaris sony spyware sql injection ssl stuff sun symantec torrents unix virus vista vmware vpn wikipedia windows word xp xss yahoo yandex youtube



Rambler's Top100
Рейтинг@Mail.ru



  Copyright © 2001-2019 Dmitry Leonov   Page build time: 0 s   Design: Vadim Derkach