Вышел релиз Datasette 1.0a38, исправляющий критическую уязвимость типа SQL-инъекция. Проблема затрагивает инстансы, где в одной базе данных одновременно размещены публичные и приватные таблицы, а доступ к ним разграничен через встроенную систему разрешений. Администраторам рекомендуется обновить систему и ограничить права на выполнение SQL-запросов для предотвращения несанкционированного доступа к данным.

Уязвимость позволяет пользователям с ограниченными правами обходить проверки доступа при выполнении произвольных SQL-запросов, если они имеют доступ к интерфейсу выполнения SQL. Это создает риск утечки данных из приватных таблиц, которые должны быть скрыты от текущего пользователя. Разработчики подчеркивают, что риск актуален именно для конфигураций с разделением доступа на уровне одной базы данных.

В качестве временной меры безопасности до установки обновления администраторам рекомендуется отключить разрешение `execute-sql` для всех баз данных, содержащих конфиденциальную информацию. Это ограничение блокирует возможность выполнения произвольных запросов через веб-интерфейс, минимизируя поверхность атаки до момента полного перехода на исправленную версию.

Ключевые факты

  • Релиз 1.0a38 устраняет уязвимость, связанную с некорректной проверкой прав при выполнении SQL-запросов.
  • Проблема критична для систем, использующих общую базу данных для публичных и приватных таблиц.
  • Рекомендуемое действие: отключение разрешения `execute-sql` для баз данных с приватными данными.
  • Уязвимость затрагивает текущую систему разрешений Datasette при смешанном типе доступа.