Выпуск LibreDB Studio 0.16.2 с устранением уязвимости доступа к чужим соединениям
- В релизе LibreDB Studio 0.16.2 устранили уязвимость GHSA-3wh2-8x78-jfw4 с оценкой 8.8 по CVSS, о которой сообщил исследователь NotAFlightRisk.
- Проблема затрагивает многопользовательские версии до 0.16.1 включительно из-за хранения открытых подключений в общем кэше без проверки паролей.
Почему это важно: Пользователь с ролью user мог угадать идентификатор чужого соединения и выполнять любые запросы в базе с правами роли admin.

Вышла версия 0.16.2 LibreDB Studio, клиента для SQL- и NoSQL-СУБД с веб-интерфейсом. Studio ставится на свой сервер, а пользователи работают с базами через браузер. Лицензия MIT.
В этой версии исправлена уязвимость GHSA-3wh2–8×78-jfw4 с оценкой 8.8 из 10 по CVSS. О ней сообщил сторонний исследователь NotAFlightRisk.
Сервер держит уже открытые подключения к базам в общем кэше. Ключом в этом кэше был идентификатор подключения, а его присылает браузер. Пользователь, подставивший в запрос чужой идентификатор, получал чужое открытое подключение с правами его владельца. Логин и пароль в запросе при этом можно было указать любые, они не проверялись.
Идентификаторы подключений, которые заранее задаёт администратор, обычно простые, например prod, и их легко угадать. Поэтому пользователь с ролью user мог выполнять любые запросы в базе, доступной только роли admin.
Уязвимость касается установок, где заведено больше одной учётной записи. Если Studio пользуется один человек, чужих подключений на сервере нет. Уязвимы все версии до 0.16.1 включительно.
Запуск:
docker run -p 3000:3000 ghcr.io/libredb/libredb-studio:0.16.2
Есть также Helm-чарт и npm-пакет @libredb/studio.
