Pull to refresh

Comments 11

Оказывается об этой проблеме говорили в сообществе MariaDB в 2022 году здесь

По ссылке:

/
/

Баг создан в 2020, говорить о нем начали в 2021, к обсуждению конкретных деталей перешли в 2022, потом все опять замерло до 2024. Забавно на этом фоне выглядит текст новости

The problem we were solving, and for various reasons we had to do it very quickly, is that it is possible to generate a malicious MariaDB dump file which could execute shell commands from the MariaDB client.

Там комбинация разных ситуаций и тикетов.

  • юзеры просили "sandbox mode", это как раз и есть MDEV-21778, чтобы можно было ставить mariadb как login shell и чтоб можно было давать sudo mariadb не давая полный рут шелл. Это старый тикет, там ничего срочного не было, просто фичу просили

  • mariadb-dump доверял серверу и писал его ответы в дамп, без проверок и валидации. Таким образом в дамп могли попасть команды, если плохой сервер их туда подсунет. Это MDEV-33727 — вот он новый и был новый

  • Оракл выпускает новый релиз MySQL в котором он фиксит CVE-2024-21096

В результате нам (MariaDB) тоже пришлось срочно это дело закрывать и мы закрыли его через sandbox mode, заодно закрыв и первый тикет.

Можете вообще про эту историю подробнее рассказать, как разработчик? И я правильно понимаю, что на shared хостингах можно было иметь доступ к файлам остальных пользователям, например из-за этой уязвимости?

Все зависит от конфигурации и разрешений, которые дает shared хостинг своим пользователям. Учитывая что на многих хостингах до сих пор еще стоит MySQL 5.7 – думаю нас ждет множество взломов по типу 1gb и reg ru

Про что рассказать, в чём дыра? Это уже не секрет, вот, Оракл демонстрирует: https://github.com/mysql/mysql-server/commit/f351ea92a5a0

Вкратце, суть в том, что если у плохиша есть полный контроль над сервером или он может делать MitM (потому что SSL не включён или сертификаты не проверяются), то он может подсовывать в дамп разные команды. Потому что mariadb-dump/mysqldump не проверяет, что ему приходит. И тогда если кто-то этот дамп потом прочтём mysql клиентом, то команды выполнятся.

Это довольно маловероятный сценарий, в котором юзер не доверяет своему серверу. Но теоретически возможный.

На shared хостингах — нет, только если получить полный контроль над базой данных других пользователей. Но тогда как бы доступ ко всем данным и так есть.

слушайте, мне очень нравится докер, как удобная система упаковки софта, но во-первых, он всё же не серебряная пуля, а во-вторых, БД-в-докере уместна далеко не всегда.

привет. ну "упаковка софта" -- не совсем то, о чем я говорю. для разработки, имхо, докер это в первую очередь "воспроизводимое окружение". поэтому, в самом начале статьи, мне действительно _стало понятно_, что это так или иначе, проблема конфигураций.. (далее все увлекательно и я дочитал даже, но интрига "как починить" для меня была раскрыта)) об этом и была шутка! (но, кажется, меня не все поняли).

а, вообще, я и правда считаю контейнеризацию одной из "серебрянных пуль" современной разработки. что же касается бд прода -- то, наверное, тогда уж managed (опять же в воспроизводимой среде).

Спасибо!
Сегодня столкнулись с тем что импорт вдруг внезапно сломался.

Благодаря тому что читал вашу статью, вспомнил, быстро починили.

Думаю сейчас таких случаев станет все больше и больше …

Sign up to leave a comment.

Articles