listmonk — это автономный самостоятельный менеджер информационных бюллетеней и списков рассылки. До версии 6.2.0 конечная точка GET /api/subscribers/export listmonk внедряет управляемый пользователем параметр запроса в QuerySubscribersForExport во внутреннем/core/subscribers.go без вызова validateQueryTables, в отличие от GET /api/subscribers, что позволяет аутентифицированному пользователю с subscribers:sql_query и подписчиками:get_all читать произвольные таблицы базы данных, такие как пользователи и настройки, и выполнять изменение данных PostgreSQL CTE. Эта проблема исправлена в версии 6.2.0.
Показать оригинальное описание (EN)
listmonk is a standalone, self-hosted, newsletter and mailing list manager. Prior to 6.2.0, listmonk’s GET /api/subscribers/export endpoint injects the user-controlled query parameter into QuerySubscribersForExport in internal/core/subscribers.go without calling validateQueryTables, unlike GET /api/subscribers, allowing an authenticated user with subscribers:sql_query and subscribers:get_all to read arbitrary database tables such as users and settings and execute data-modifying PostgreSQL CTEs. This issue is fixed in version 6.2.0.
Характеристики атаки
Последствия
Строка CVSS v3.1