Переполнение буфера MySQL пользовательскими функциями

9/08/2005 04:12

Уязвимость в СУБД MySQL, позволяющая вызвать переполнение буфера при создание пользовательских функций, обнаруженна в следующих версиях программы: 4.0.25, 4.1.13 и 5.0.7-beta. Обнаруженная уязвимость является следствием недостаточной проверки границ данных, используемых как параметры функцией init_syms().
Общий вид создания пользовательской функции выглядит так:
"CREATE FUNCTION function_name RETURNS type SONAME "library_name""
Пользовательская переменная "function_name" не может быть более 64 символов. При успешной загрузке библиотеки операционной системой, запрос отправлется внутренней функции init_syms(), которая в свою очередь имеет ограниченный объем буфера в 50 байт, в результате чего происходит переполнение буфера. Использование этой уязвимости дает возможность изменить EIP и позволить атакующему записать данные в произвольное место базы данных.
SecurityFocus