Weblate — это веб-инструмент локализации. До версии 5.16.1 `AddonViewSet` REST API (`weblate/api/views.py`, строка 2831) использовал `queryset = Addon.objects.all()` без переопределения `get_queryset()` для ограничения результатов по разрешениям пользователя. Это позволяет любому аутентифицированному пользователю (или анонимным пользователям, если `REQUIRE_LOGIN` не установлен) просматривать и получать ВСЕ дополнения во всех проектах и компонентах через `GET /api/addons/` и `GET /api/addons/{id}/`.
Версия 5.16.1 устраняет проблему.
Показать оригинальное описание (EN)
Weblate is a web based localization tool. Prior to version 5.16.1, the REST API's `AddonViewSet` (`weblate/api/views.py`, line 2831) uses `queryset = Addon.objects.all()` without overriding `get_queryset()` to scope results by user permissions. This allows any authenticated user (or anonymous users if `REQUIRE_LOGIN` is not set) to list and retrieve ALL addons across all projects and components via `GET /api/addons/` and `GET /api/addons/{id}/`. Version 5.16.1 fixes the issue.
Характеристики атаки
Последствия
Строка CVSS v3.1
Тип уязвимости (CWE)
Уязвимые продукты 1
| Конфигурация | От (включительно) | До (исключительно) |
|---|---|---|
|
Weblate Weblate
cpe:2.3:a:weblate:weblate:*:*:*:*:*:*:*:*
|
— |
5.16.1
|