>Вроде как уязвимость, но что-то трудно себе представить непривелигированного пользователя, создающего таблицы.
Хм, а если создать большую таблицу и заставить сервер её обрабатывать? DoS получается легко. Или нет?
>Да запросто. Если в продукте есть и админка с созданием новой базы, то логично создать базу и дать на нее пользователю все права.
Та ведь, кроме него, эту таблицу никто использовать не будет. Что толку-то?
> Если в продукте есть и админка с созданием новой базы, то логично создать базу и дать на нее пользователю все права.
Ага и этот же пользователь будет в SQL запрос CREATE TABLE там сам все пути прописывать? Я не к тому, что уязвимости нет, но случай, чтобы ей воспользоваться выглядит редким.
Например, какой-то несознательный халявный хостинг на домашнюю директорию выдаст тебе полгигабайта, а на базу MySQL — лишь жалких 50 метров, и тебе как-то хочется обойти эту квоту.
Зачем? достаточно злоумышленнику указать спец пути. И все. Если пользователь пересоздаст такую таблицу (без указания всяких путей!), то злой дядька будет иметь на неё чтение. Проверено. Правда с полями бардак получается.
>Ага и этот же пользователь будет в SQL запрос CREATE TABLE там сам все пути прописывать? Я не к тому, что уязвимости нет, но случай, чтобы ей воспользоваться выглядит редким.
не понял. речь идет о каком нибудь дырявом phpbb, в котором есть админка. Соответственно, весь он работает от одного мускульного юзера.
Достаточно взломать один из скриптов этого продукта и можно мучать всех юзеров этого мускул-сервера.
An authenticated remote attacker could create MyISAM tables...
Не очень понятно. Если я использую в базе только Innodb? Если я использую Innodb с опцией innodb_file_per_table? Работает ли уязвимость в этих случаях?
текст по ссылке: An authenticated remote attacker could create MyISAM tables, specifying DATA or INDEX directories that contain future table files by other database users, or existing table files in the MySQL data directory, gaining access to those tables.
текст из MySQL доки: If a MyISAM table is created with a DATA DIRECTORY or INDEX DIRECTORY option and an existing .MYD or .MYI file is found, MyISAM always returns an error. It will not overwrite a file in the specified directory.
Или я что-то не понимаю или нас где-то обманывают =)
Тоесть создать таблицу к уже существующим нельзя. А если она уже есть(как указывалось в багрепорте - мы пытаемся угадать какую таблицу в дальнейшем будут создавать) то ошибку получит вообще говоря администратор БД при создании таблицы.
P.S. всё это относится только к MyISAm. пользуюсь InnoDB и не парит.
Достадно было при прошлой баге. ~конеу прошлого года. Когда эта бага использовалась вместе с rename, перезаписывающим чужие таблицы. Вот тогда была ж@па.